# Contributing Thanks for helping improve dsh-git-chain. ## Before opening a pull request Requirements: - Node.js `>= 22.19.0` - pnpm `10.14.0` - Git on `PATH` Install dependencies and run the same checks used by CI: ```sh pnpm install --frozen-lockfile pnpm run typecheck pnpm test pnpm run build pnpm run check:package pnpm run smoke ``` The browser smoke command needs a Chromium installation supported by Playwright. Set `PLAYWRIGHT_EXECUTABLE_PATH` when a non-default browser executable is required. ## Change guidelines - Keep Host and Client boundaries explicit. - Do not build Git commands by concatenating shell strings. - Preserve workspace and branch safety checks. - Add or update focused tests with behavior changes. - Keep user-facing copy available in Chinese and English when changing the UI. - Do not commit credentials, private repository data, generated dependency folders, or local DSH profiles. Use a clear commit subject such as `fix(graph): keep merge lanes connected`. Pull requests should describe the user-visible change, test evidence, compatibility impact, and any known limitations. ## Reporting bugs and feature requests Use [GitHub Issues](https://github.com/ShinonomeAya/dsh-git-chain/issues). For security problems, follow [SECURITY.md](SECURITY.md) instead.