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

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

See coding-conventions.md.

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-by trailer identifying the model used, for example:
    Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
    
    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.