Contributing to scmpuff
February 20, 2026 · View on GitHub
Development environment
A VS Code .devcontainer is provided for a containerized setup. Otherwise, you need:
- Go+
- git
- Optionally: bash, zsh, and/or fish (for running integration tests locally)
Building
make build
This produces bin/scmpuff with version info injected from git tags.
Understanding the codebase
- architecture.md — overall structure, end-to-end flows, package reference, dependencies
- git-status-parsing.md — parsing pipeline, how XY short codes are handled
- shell-integration.md — shell scripts, env var protocol, git wrapper dispatch
Testing
See testing.md for full details on:
- Unit tests (
make test) and integration tests (make integration) - Golden file workflow
- Testscript style guide and multi-shell testing patterns
Code style
Pull request process
- Include tests for behavior changes (see testing.md for guidance on when/how).
- If your change affects architecture, parsing, shell integration, or testing workflows, update the corresponding
docs/files to stay in sync. - AI-assisted contributions must be disclosed. Commits containing AI-generated or AI-assisted code must include a
Co-authored-bytrailer identifying the model used, for example:
PRs containing AI-assisted code must include a section from the human author describing what level of human review was applied and how the AI-generated portions were verified.Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>