Contributing
Use this section when you are changing AMMM3 itself rather than using it as a library. The contributor docs focus on three questions:
- How do you get a working local environment?
- Where should new code live?
- What do you need to run before you consider a change complete?
AMMM3 is intentionally local-first. The source of truth for development
workflow is the combination of the repo Makefile,
ARCHITECTURE.md, and the verification scripts in
scripts/.
Start Here
Development Setup explains the supported local environment, editable install, and the verification commands you are expected to use.
Architecture explains the module boundaries, dependency direction, and where new code should land.
Testing explains the test layout, recommended pytest commands, and when to run the heavier local verification scripts.
Upstream Integration records import provenance and exclusions.
Post-remediation Review records a historical review and its verification boundary.
Recommended Contributor Flow
- Create or refresh your local environment.
- Read the architecture page before touching
src/abacus/mmm/panel.pyor the extracted panel modules. - Make the smallest coherent code change that solves the task.
- Run targeted lint and tests for the touched area.
- For substantial work, run
make verify_local. - If packaging, imports, or bundled assets changed, run
make verify_package.
Related Documents
- README.md for the product-level overview and quick-start examples.
- ARCHITECTURE.md for the fuller contributor-facing module map.
- docs/index.md for the broader documentation set.