Thanks for your interest in AAROP! Contributions, issues, and feature ideas are welcome.
Core engine (Python):
cd core
pip install -e ".[dev]"
pytest --cov=aarop # run the test suite
python examples/run_demo.py --verboseWeb demo (Next.js):
cd web-demo
npm ci
npm test # node:test helpers
npm run typecheck
npm run test:e2e # Playwright Chromium smokes
npm run build # verify a production build- Keep the agentic loop explicit. New behavior should be modeled as inspectable phases/events, not hidden inside prompt strings.
- Python is canonical.
core/is the reference engine. A change to loop semantics, budgets or tool contracts lands there with tests first, and only then is mirrored intoweb-demo/lib/aarop.ts. If the two disagree, the Python side wins. - Tests required. Core orchestration changes must keep coverage ≥ 85%.
- Inject dependencies. Models, tools, and memory backends are pluggable - keep them mockable.
- Document decisions. Significant architectural changes get an ADR in
core/docs/ARCHITECTURE.md.
- Fork and create a feature branch.
- Run
pytest(Python) andnpm test && npm run typecheck && npm run test:e2e(web) before opening the PR. - Describe the change and link any related issue.
Open a GitHub issue with steps to reproduce, expected vs. actual behavior, and environment details.
By contributing, you agree your contributions are licensed under the MIT License.