- Own project-wide engineering rules and the top-level DOX index.
- Keep detailed contracts in the closest applicable child
AGENTS.md.
- Stack: Python 3.12+ framework, Python 3.13 agent execution runtime, Flask, Alpine.js, LiteLLM, and Socket.IO.
- Start the WebUI with
python run_ui.py; discover its URL from startup output, Docker mappings, or explicit configuration rather than assuming a port. - Run the full test suite with
pytestor a focused file withpytest tests/test_name.py. - Human-facing documentation lives in
README.mdanddocs/.
agent.pyownsAgent,AgentContext, and loop data.initialize.pyowns framework initialization.models.pyowns model-provider configuration and LiteLLM integration.run_ui.pyis the WebUI entry point.DockerfileLocalmust remain compatible with the contracts underdocker/.- Runtime or user state under
usr/andtmp/is intentionally outside tracked DOX unless the user explicitly asks otherwise.
- Import
AgentContextandAgentContextTypefromagent, nothelpers.context. - Never commit secrets,
.envfiles, API keys, tokens, or private user data. - Preserve authentication and CSRF protections.
- Use Linux paths and commands in examples.
- Treat the Docker container exposed at
localhost:32080as the live plugin/backend runtime when that target is named. - Copy live core-plugin changes back into tracked source under
plugins/. - Develop new custom plugins under ignored
usr/plugins/; tracked bundled plugins live underplugins/. - Use the framework runtime for backend and plugin-hook verification, not the separate agent execution runtime.
Allowed without asking:
- Read repository files.
- Update files under
usr/.
Ask before:
- Installing dependencies.
- Deleting core files outside
usr/ortmp/. - Modifying
agent.pyorinitialize.py. - Creating commits or pushing branches.
AGENTS.mdfiles are binding contracts for their subtrees.- Before editing, read this file and every
AGENTS.mdon the path to each target; the closest contract controls local details without weakening parent rules. - Keep work understandable from the applicable DOX chain. Put project-wide rules here and concrete ownership, workflows, inputs, outputs, side effects, and verification in child docs.
- Create a child
AGENTS.mdonly for a durable boundary with distinct ownership or workflow. - Child docs should use: Purpose, Ownership, Local Contracts, Work Guidance, Verification, and Child DOX Index.
- After every meaningful change, re-check the affected paths, update the closest owning docs and indexes, remove stale guidance, and run relevant verification.
- Do not document ignored
usr/ortmp/changes unless explicitly requested. - Keep DOX concise, current, operational, and free of diary entries or duplicated parent guidance.
| Child | Scope |
|---|---|
| .github/AGENTS.md | GitHub Actions workflows and release automation scripts. |
| agents/AGENTS.md | Bundled agent profiles, profile-local prompts, and tools. |
| api/AGENTS.md | HTTP API and WebSocket handler entry points. |
| conf/AGENTS.md | Repository-shipped configuration defaults and templates. |
| docker/AGENTS.md | Docker build contexts, images, compose files, and runtime layout. |
| docs/AGENTS.md | Human-facing documentation and screenshots. |
| extensions/AGENTS.md | Backend and WebUI lifecycle extensions. |
| helpers/AGENTS.md | Shared backend utilities and runtime services. |
| knowledge/AGENTS.md | Built-in agent self-knowledge. |
| lib/AGENTS.md | Lightweight browser-side helpers outside the WebUI bundle. |
| plugins/AGENTS.md | Bundled system plugins and custom-plugin architecture. |
| prompts/AGENTS.md | Core prompt templates. |
| scripts/AGENTS.md | Repository maintenance scripts and automation inputs. |
| skills/AGENTS.md | Bundled Agent Zero skills. |
| tests/AGENTS.md | Pytest regression and contract tests. |
| tools/AGENTS.md | Core agent tool implementations. |
| webui/AGENTS.md | Alpine.js WebUI shell, components, JavaScript, CSS, and assets. |
Intentionally unindexed local or generated roots:
| Path | Reason |
|---|---|
.conda/, .venv/ |
Local Python environments. |
.pytest_cache/, __pycache__/ |
Generated test and bytecode caches. |
.vscode/, .windsurf/ |
Editor-local configuration and assistant metadata. |
logs/ |
Runtime output. |
tmp/ |
Ignored runtime caches, uploads, and generated work. |
usr/ |
Ignored local user data, settings, plugins, chats, and workdirs. |
python/ |
Generated or legacy runtime mirror; current source is in root modules and tracked source directories. |