Repository instructions
September 5, 2026 · View on GitHub
Scope and authority
dsh-distribution defines implementation-independent environment identity and portability protocols. It is not an installer, runtime, package format, marketplace policy, or designated Manager. dsh-std owns component interaction contracts; dsh-ecosystem-spec owns ecosystem guidance and product admission profiles. Neither is a mandatory runtime dependency.
Core contains only identity, declarations, catalog dispatch, and compatibility reports. Domain semantics belong in independently versioned packages. Private definitions use the same apiVersion + kind mechanism as public definitions. Never interpret a declaration as permission or a safety guarantee.
Changes
- Every public contract requires a normative proposal in
docs/proposals/. - Keep proposals, exported types, generated schemas, semantic validators, fixtures, tests, and per-package CHANGELOGs aligned.
- Use MUST / MUST NOT / SHOULD / SHOULD NOT / MAY consistently. Do not turn implementation choices into normative requirements.
- New breaking wire semantics require a new protocol coordinate. npm versions and distribution release versions are separate identities.
- No product-specific requirements in portable packages. Adapter notes are informative.
- Preserve unrelated edits. No commit, push, external comment, publication, or remote settings change without 风雪's explicit approval.
Verification
Use pnpm install --frozen-lockfile, pnpm check, and git diff --check. Network package operations use the local Clash proxy http://127.0.0.1:7897. Schema artifacts are generated by pnpm schemas:write; never edit generated schemas manually. Lockfiles are generated by pnpm. No new Actions workflows are included in this bootstrap; CI can run pnpm check after separate approval.