Contributing¶
Thank you for your interest in contributing to ACLI!
Getting started¶
- Fork the repository
- Clone your fork
- Create a feature branch from
develop - Make your changes
- Submit a pull request targeting
develop
Development setup¶
Python SDK¶
Other SDKs (Rust, TypeScript, Go, .NET, R, Java) have their own READMEs under sdks/<language>/. When you change a public API, update root README.md, docs/index.md, docs/sdks/index.md, and mkdocs.yml if navigation changes.
Quality checks¶
All checks must pass before submitting a PR:
ruff check src/ tests/ # Linting
ruff format --check src/ tests/ # Formatting
mypy src/ # Type checking
pytest # Tests (90% coverage minimum)
Branch strategy¶
| Branch | Purpose |
|---|---|
main |
Stable releases, protected |
develop |
Integration branch for PRs |
feat/* |
Feature branches |
fix/* |
Bug fix branches |
Pull request process¶
- Branch from
developwith a descriptive name - Keep PRs focused — one feature or fix per PR
- Ensure all CI checks pass
- Update documentation if you change public APIs
- Add tests for new functionality
Commit messages¶
feat: add acli validate command
fix: correct exit code for dry-run mode
docs: update Python SDK quick start
License¶
By contributing, you agree that your contributions will be licensed under EUPL-1.2.