Skip to content

Latest commit

 

History

History
45 lines (33 loc) · 1.59 KB

CONTRIBUTING.md

File metadata and controls

45 lines (33 loc) · 1.59 KB

Contributing to AAROP

Thanks for your interest in AAROP! Contributions, issues, and feature ideas are welcome.

Development setup

Core engine (Python):

cd core
pip install -e ".[dev]"
pytest --cov=aarop          # run the test suite
python examples/run_demo.py --verbose

Web 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

Guidelines

  • 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 into web-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.

Pull requests

  1. Fork and create a feature branch.
  2. Run pytest (Python) and npm test && npm run typecheck && npm run test:e2e (web) before opening the PR.
  3. Describe the change and link any related issue.

Reporting issues

Open a GitHub issue with steps to reproduce, expected vs. actual behavior, and environment details.

License

By contributing, you agree your contributions are licensed under the MIT License.