Package Manifest

Domain: Development & Internals

Motivation

@deepseek-ai/dsh-package-manifest is the shared TypeScript declaration for package identity, runtime requirements, and DSH plugin metadata: DshPackageManifest for package.json fields, DshManifest for public fields under dsh, and member types like DshClientManifest. Each reader owns JSON parsing and validation; the package supplies types only, and readers never infer defaults for omitted fields.

Concrete Example

engines.dsh declares the compatible DSH versions as a SemVer range beside engines.node and engines.npm, and dsh.manifestVersion: 1 marks the manifest format independently of the npm package version.

Analogy

It is the shared type contract that every manifest reader agrees on before anyone parses a file.