src/contains:agents/: YAML definitions for specialized agents.common/: Core logic and base classes (ibm_cloud_base.py,agent_factory.py).supervisor_agent/&kingsmen_agent/: Logic for coordination agents.
tests/holds pytest suites (integration/test_agent_startup.py, fixtures) that verify agent bootstrapping and service wiring.docs/aggregates tutorials, reference material, and generated outputs; keep sizeable assets there.- Root scripts (
run.sh,run_web.sh,start.sh) start local stacks, whileagent.yamland theibmcloud_mcp_*_config.jsonfiles define deployable agent profiles.
uv sync --reinstallinstalls pinned Python 3.12 dependencies frompyproject.tomlanduv.lock.make run(or./run.sh) launches the MCP-enabled agent server with the default Supervisor agent.make devprovides a hot-reload development server; use it when iterating on handlers.make test,make pytest-examples, andmake test-curlcover unit, documentation, and endpoint smoke tests respectively; run them before opening a PR.
- Format Python with
black(line length 200) and manage imports withisort;make lintchains these withruff,flake8, and security/static analyzers. - Keep functions and modules
snake_case, classesPascalCase, and constantsUPPER_SNAKE_CASE. When adding new agents, add a new YAML file tosrc/agents/. - Type hints are required (
mypy --strictin the toolchain); favor explicit return types and dataclasses for structured payloads.
- Place new tests beside the code they exercise under
tests/; name filestest_<feature>.pyand fixtures undertests/fixtures/. - Prefer async-compatible tests (pytest asyncio auto-mode). Use
pytest.mark.asynciowhen a coroutine is under test. - Use
make coverageto produce Markdown and HTML reports; maintain or raise coverage for touched modules, especially orchestration paths insrc/supervisor_agent.
- Write imperative, descriptive commit subjects (e.g., “Add dynamic team management for supervisor agent”) and keep summaries under 72 characters.
- Reference related issues in the commit body or PR description and describe the agent scenarios you validated (commands run, sample requests).
- For PRs, list required environment variables, attach relevant
docs/screenshots orcurltranscripts, and confirmmake testandmake lintpass locally.
- Copy
.env.exampleto.envand populate provider API keys; never commit secrets or service credentials. - Keep shared agent settings in the provided
ibmcloud_mcp_*_config.jsonfiles; document any new keys indocs/so operators can mirror production configs.