Contributing
Prerequisites
- Python 3.10+
- uv
Setup
git clone https://github.com/aliyun/iac-code.git
cd iac-code
make install
make install installs all dependencies and sets up pre-commit hooks (lint & format checks on every commit).
Development Workflow
Run in debug mode:
make dev
Run tests:
make test # default Python version
make test PY=3.12 # specific version
make test PY=all # all supported versions (3.10–3.14)
Code quality:
make lint # ruff check + ty check
make format # ruff format
Coverage:
make coverage
Project Layout
src/iac_code/ # source code
tests/ # test suite
website/ # documentation site (Docusaurus)
Submitting Changes
- Fork the repository and create a feature branch.
- Make your changes with tests.
- Run
make format, then ensuremake lintandmake testpass. - Open a pull request against
main.