Contributing to axm-forge
Development Setup
git clone https://github.com/axm-protocols/axm-forge.git
cd axm-forge
uv sync --all-groups
uv run pre-commit install
Making Changes
- Create a branch:
git checkout -b feat/my-change - Make changes in the relevant package under
packages/ - Run tests:
make test-all - Run lint:
make lint - Run AXM quality gate:
make quality - Commit with conventional commits:
feat(pkg): description - Open a pull request
💡 Tip:
make qualityruns the sameaxm-audit+axm-init checkthat CI enforces viaaxm-quality.yml. Running it locally before pushing avoids CI failures.
Available Commands
| Command | Description |
|---|---|
make test-all |
Run tests for all packages |
make test-{pkg} |
Run tests for a specific package (e.g. make test-ast) |
make lint |
Ruff + mypy for all packages |
make check |
Lint + tests |
make axm-audit |
Run axm-audit on each package |
make axm-init |
Run axm-init check on each package |
make quality |
Full AXM quality gate (pre-push) |
Adding a Package
- Create
packages/my-pkg/withpyproject.toml,src/,tests/ - UV auto-discovers members via
packages/*glob - Run
uv syncto update the lockfile