Contributing to dsh-restart

August 18, 2026 · View on GitHub

Thanks for taking the time to contribute! This project is small on purpose — keep it that way.

Project principles

  1. Zero dependencies. The launcher uses only Node.js core modules; the skill is a plain SKILL.md. No new runtime dependencies unless absolutely necessary.
  2. Verified facts only. Anything about dsh internals (ports, config roots, CLI flags) must be traceable to the official @deepseek-ai/dsh packages or to dsh web --help output. No unverified claims.
  3. Safe by default. Never kill processes that do not look like node/dsh/deno/bun without --force. Never restart a healthy instance implicitly.
  4. Cross-platform. Changes must work on Windows, macOS, Linux, and (where feasible) Android/Termux.

Reporting issues

Open an issue with:

  • The platform and Node.js version (node -v)
  • The exact command you ran and its full output
  • Expected vs. actual behavior

Submitting changes

  1. Fork the repository and create a branch: git checkout -b fix/describe-the-fix

  2. Make your change. If you touch the skill (skills/dsh-restart/SKILL.md):

    • keep name kebab-case and matching the directory name
    • frontmatter fields limited to the whitelist: name, description, whenToUse, metadata, disable-model-invocation, user-invocable
    • keep the body a checklist of imperative steps, 40 lines or fewer
  3. Verify locally:

    node tools/validate-skills.mjs      # skill format — must be all green
    node launch/launcher.js --dry-run   # launcher self-check (inspect only)
    
  4. Run the same checks on at least one other platform if you changed the launcher.

  5. Commit with a clear message (Conventional Commits style: fix:, feat:, docs:, chore:) and open a pull request.

CI (.github/workflows/validate.yml) runs the skill validator on Ubuntu and Windows for every push and pull request.

License

By contributing, you agree that your contributions are licensed under the MIT License.