Contributing
The repository's CONTRIBUTING.md and AGENTS.md are the source of truth. This page collects the commands.
Development setup
git clone https://github.com/DeepAgentLabs/agenticops-control-tower.git
cd agenticops-control-tower
make install # uv sync --extra dev
make check # lint, format check, mypy --strict, pytest
Run make check before every push. make test-ecosystem runs the optional
sibling-package tests against local checkouts.
Working on this documentation site
The docs (docs/), use cases (usecases/) and product page are owned here.
The main website
publishes them at /control-tower/ using its shared documentation builder.
The repository Docs workflow validates the same output and uploads a preview.
See publishing for triggers and the canonical URLs.
From a workspace with this repository and deepagentlabs.github.io as siblings:
uv run --no-project --with-requirements ../deepagentlabs.github.io/scripts/docs-requirements.txt python ../deepagentlabs.github.io/scripts/build_docs.py --project agenticops-control-tower --repo . --output site/docs
uv run --no-project --with-requirements ../deepagentlabs.github.io/scripts/docs-requirements.txt python ../deepagentlabs.github.io/scripts/build_docs.py --project agenticops-control-tower --section usecases --repo . --output site/usecases
python ../deepagentlabs.github.io/scripts/check_docs_site.py site
The product page uses relative asset and documentation links so it works at the canonical product prefix. Keep the screenshots labeled as sample data.
Accuracy rules
- Document only what the code does today. Planned work goes in the roadmap.
- Run every command and example before committing it, and state the version it was verified against.
- Label each capability stable or experimental.
Scope
Control Tower owns operator-facing control-plane behaviour: inventory, status, configuration, evidence posture and incident coordination. Observability, evaluation, supervision, chaos and MCP logic belong in the sibling repositories.