src/holds the orchestration stack:agents/(lifecycle),memory/(Qdrant RAG),mcp/(FastAPI MCP server),monitoring/(Guardian & Conductor loops), and shared utilities incore/.frontend/is the Vite + React dashboard; run UI tooling from that directory.tests/contains integration suites andrun_all_tests.py;tests/mcp_integration/targets protocol flows with local fixtures.scripts/provides setup helpers; architecture details live indocs/anddesign_docs/; configuration files sit inconfig/.
poetry install(preferred) orpip install -r requirements.txt, then start Qdrant withdocker run -p 6333:6333 qdrant/qdrantordocker-compose up -d.python scripts/init_db.pyandpython scripts/init_qdrant.pyinitialize SQLite tables and vector collections.python run_server.pyexposes the MCP API on port 8000 (--reloadoptional);python run_monitor.pyenables the self-healing monitor.cd frontend && npm install && npm run devserves the UI;npm run buildproduces production assets.
- Format Python with Black (line length 88), lint via
flake8, and type-check withmypy; use snake_case modules/functions, PascalCase classes, verb-first async names, and explicit type hints. - Frontend code relies on functional components, camelCase hooks/utilities, Tailwind classes, and
npm run type-checkbefore review.
- Consult the relevant entries in
docs/ordesign_docs/before coding and mirror established patterns. - Update or add documentation when behavior changes, keeping
prompts/andtemplates/aligned with code updates.
- Default to
python tests/run_all_tests.py; use--quickfor a smoke pass or run suites directly (e.g.,python tests/test_vector_store.py).pytestandpytest --cov=srcremain available for targeted coverage. - Tests assume live Qdrant and valid API keys; note prerequisites in docstrings, guard optional integrations with
pytest.importorskip, and clean up agent data deterministically.
- Match the repo history with
feat:,fix:,chore:prefixes and <72 character subjects. - PRs should state scope, configuration or credential assumptions, and linked issues/design docs; attach UI screenshots and paste key command outputs when relevant.
- Run backend suites plus
npm run type-checkbefore requesting review, calling out any skipped checks with rationale.
- Store secrets in
.env; usehephaestus_config.yamlorconfig/agent_config.yamlfor overrides and never commit credentials. - Reset SQLite/Qdrant state through
scripts/helpers to prevent orphaned agent records.