Contributing
August 15, 2026 · View on GitHub
DeepSeek Harness currently accepts no external PRs into the core repository — the sanctioned way to contribute is the ecosystem (see their CONTRIBUTING.md). For this project that means:
- Workflow (mandatory since v0.2.0): every change starts as a GitHub
issue on the current milestone; one issue = one branch = one PR, squash
merged into
main. Every PR passes two gates before merging: an independent subagent review (fresh context, template indocs/review-prompt.md, verdict APPROVE/REQUEST_CHANGES) and a green CI — a failed review or a red CI sends the branch back for fixes and re-review. SeeAGENTS.mdin the repo root for the full convention, including the DSH-sandbox specifics (credentials, retries, Contents-API fallback). - Code contributions: PRs to this repository. Keep the architecture
contract in
docs/design.mdtruthful: any API dependency must cite itsfile:linein a tested deepseek-harness revision. - New capabilities: follow the existing pattern — typed domain wrapper
in
src/, tools registered insrc/tools.ts, caps insrc/config.ts, tests undertests/, docs indocs/. - Releases: follow the
dsh-plugin-releaseskill (bumpCHANGELOG.md, tag, CI green,npm publish, update the awesome-dsh-plugin listing — for v0.2.0+ the listing entry already exists and only needs a version/ description touch-up when relevant).
Repo conventions
- Plain TypeScript, ESM, built with tsdown into
lib/(not committed). - Zod v4 for all runtime schemas (matches the harness).
- Tests with vitest; the memory backend is mocked with the same in-memory
pattern the harness itself uses (
packages/storage/storage-domain/tests). - Two languages for user-facing docs: English primary,
README.zh.mdmirror. - MIT license; DCO-free, sign-off style not required.
Verification checklist before any release
pnpm install && pnpm build && pnpm typecheck && pnpm test && npm pack --dry-run
plus the full local verification loop in docs/handoff.md §6 on a real
deployment.