Contributing¶
This project welcomes contributions from humans working with or without AI assistance. AI tooling is available but not required.
Branching and workflow¶
All contributors follow the same branching model:
- Branch from
developusingfeature/*,bugfix/*,hotfix/*, orchore/*prefixes. - Commit messages follow conventional commits and are validated by CI.
- PR body must include
Fixes #NorRef #N(validated by CI). - Feature PRs: squash merge to
develop. - Release PRs: regular merge to
main(preserves shared ancestry).
See release workflow for the full release process.
Code quality gates¶
Every PR must pass these gates, enforced both locally and in CI:
| Gate | Tool |
|---|---|
| Linting | Clippy with -D warnings |
| Formatting | cargo fmt |
| Tests | cargo test |
| Dependency audit | cargo-deny check |
| Markdown lint | markdownlint |
| Commit messages | Conventional commit validation |
Run the full suite locally before pushing:
Or use the containerized scripts:
For human contributors¶
- Run tests and lint checks before pushing to catch issues early.
- Reference
docs/repository-standards.mdfor the full standards specification. - The
CLAUDE.mdandAGENTS.mdfiles document architecture, patterns, and key design decisions. They are useful as reference material even when not using an AI agent. - After changing mapping data in
mapping-data.json, regenerate downstream artifacts. See generation scripts for the regeneration workflow.
For AI agent contributors¶
Agent entry points¶
- Claude Code: reads
CLAUDE.md, which loads repository standards via include directives. - Codex and other agents: reads
AGENTS.md, which loads the same standards plus shared skills from thestandards-and-conventionsrepository.
Quality expectations¶
AI-generated code must pass all the same validation gates listed above. There are no exceptions.
What AI agents handle well¶
- Code generation from mapping data
- Test writing and coverage gap filling
- Linting and formatting fixes
- Refactoring with consistent patterns
- PR creation and submission
What requires human judgment¶
- Architectural decisions and API design
- MQ domain knowledge and MQSC semantics
- Release decisions and version management
- Mapping data curation (attribute names, value translations)
Co-author trailers¶
AI agents add co-author trailers to commits automatically when following the repository standards.