Contributing
Use this section when you are changing Abacus 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?
Abacus 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
sandbox/.
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.
Recommended Contributor Flow
- Create or refresh your local environment.
- Read the architecture page before touching
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.