Skip to content

Contributing to umbra

Thank you for your interest! :wave:

This project is run on volunteer time, so please have patience.

Before you open a PR

  1. Open an issue first. Every commit in this repo closes a same-repo issue (closes #N in the commit body). Discussion happens in the issue; the PR is the change itself. This applies even to trivial fixes - the issue gives the change a stable URL.

  2. Stay close to scope. The four cli-* repos are intentionally small. Features that pull this package out of its lane will get pushed back, even when well-intentioned. The README and docs/FEATURES.md describe the surface; if your idea expands it, lead with an issue arguing for the expansion.

  3. Run the dev verbs before pushing. Local dev routes straight through make (umbra is the framework itself, not a guarded consumer):

    make build
    make test
    make vet
    make lint
    

    CI runs the same set on every push.

  4. Update godoc-current.txt if you touch the public API. Run make godoc-update and commit the diff in the same PR. CI fails if the snapshot is out of sync.

Code of Conduct

Participation in this community is governed by the Code of Conduct, adapted from the Contributor Covenant 2.1.

Security disclosures

See SECURITY.md. Do not file vulnerabilities as public issues.

Agent-driven contributions

Pull requests authored or substantially edited by an LLM-driven agent are welcome. See AGENTS.md for the conventions a contributing agent should follow (issue-first, Dangerously* naming, dev-verb routing through make, etc).