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 | Ruff with all rules enabled (select = ["ALL"]) |
| Formatting | Ruff format |
| Type checking | mypy (strict) and ty |
| Test coverage | pytest with 100% branch coverage |
| Security audit | pip-audit |
| Markdown lint | markdownlint |
| Commit messages | Conventional commit validation |
Run the full suite locally before pushing:
For docs-only changes:
For human contributors¶
- Run
validate_local.pybefore 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.py, 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.