-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Jul.IA welcomes focused code, test, documentation, and operational improvements.
-
Fork and clone the repository.
-
Create a focused branch.
-
Install the supported Go toolchain and any tools needed by the area you change.
-
Run the fast local checks:
make ci-fast
-
Run the full-tag checks when an optional feature is affected:
make ci-full
-
Use the closest local pull-request gate when practical:
make ci-pr
The exact CI matrix evolves. The contribution guide and workflows under .github/workflows/ are authoritative.
A user-visible feature normally needs:
- implementation and tests;
- schema and validation updates where configurable;
- canonical configuration documentation;
- a focused feature guide when needed;
- a runnable example or fixture;
- a security/threat note when relevant;
- an entry under
CHANGELOG.md[Unreleased]; - admin, metrics, lifecycle, and compatibility updates where applicable.
- Format Go code with
gofmtand satisfy the configured linters. - Preserve error context and deterministic cleanup.
- Keep optional features behind explicit build tags with useful missing-tag errors.
- Prefer table-driven tests for handlers, middleware, parsing, and validation.
- Keep configuration behavior and documentation in the same pull request.
- Record durable design choices in an ADR rather than burying them in an implementation comment.
Conventional commit prefixes are preferred, for example feat:, fix:, docs:, test:, refactor:, and chore:. Open a draft pull request early, keep the scope coherent, and explain user impact, validation, and compatibility.
The project uses the Developer Certificate of Origin. Sign commits with:
git commit -s