git clone https://github.com/MCamner/mq-agent.git
cd mq-agent
uv pip install -e ".[dev]"Verify everything works:
pytest tests/ -v
mq-agent doctormain is protected. Do not plan work around pushing directly to main.
git switch -c feat/my-change
pytest tests/ -v
git push -u origin feat/my-change
gh pr create --base main --head feat/my-changeKeep release-prep changes on a branch too. Tag releases only after the release
PR has merged and CI is green on main.
pytest tests/ -vTests do not require OPENAI_API_KEY — the 26 unit tests mock all external calls.
ruff check mq_agent/
mypy mq_agent/ --ignore-missing-imports- No secrets in commits (no
.env, no API keys, no tokens) - Add tests for every new tool registered in
TOOL_REGISTRY - Keep commands safe by default —
suggestmode unless--approveis passed - Prefer
--dry-runbehavior for any new command that writes or executes - New tools must be added to
SAFE_TOOLSinsafety.pyif they are read-only - Destructive tools must trigger the
DESTRUCTIVE_PATTERNScheck
- Implement in
mq_agent/tools/your_tool.py - Register in
mq_agent/tools/__init__.pyTOOL_REGISTRY - If read-only, add to
SAFE_TOOLSinmq_agent/core/safety.py - Write at least one test in
tests/test_tools.py
- Create
mq_agent/agents/your_agent.py - Use
Planner,Executor,Verifierfrommq_agent.core - Export from
mq_agent/agents/__init__.py - Wire a CLI command in
mq_agent/main.py
feat: add X
fix: correct Y
docs: update Z
refactor: simplify W
test: cover V