mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-07-09 17:08:29 +00:00
Load active-project AGENTS.md path-chain guidance into the protocol area without duplicating the project root instructions. Move the AGENTS.md protocol wording into a prompt template, reuse existing file/path helpers, and cover direct-path discovery plus prompt assembly with focused tests.
2.8 KiB
2.8 KiB
Backend Helpers DOX
Purpose
- Own shared Python framework utilities used by agents, APIs, tools, plugins, WebSockets, persistence, and runtime services.
- Keep cross-cutting behavior stable and tested.
Ownership
- Helper modules provide reusable services; feature-specific route handlers belong in
api/, tool behavior intools/, and plugin-local logic inside plugin directories. - Security, auth, settings, file access, plugin discovery, extension dispatch, notifications, state snapshots, scheduler, tunnel, and WebSocket primitives live here.
Local Contracts
- Preserve public helper APIs used by core code and plugins unless all callers, docs, and tests are updated.
- Use structured parsers and serializers for YAML, JSON, paths, and URLs instead of ad hoc string handling.
- Keep path handling constrained to intended roots for user files, uploads, downloads, projects, and workdirs.
- Project metadata defaults must remain backwards-compatible; missing
include_agents_mdis treated as enabled, project instruction file content is injected with an explicit source path, and active-project AGENTS.md path-chain guidance is assembled into prompt protocol without duplicating the project root AGENTS.md. - Do not hardcode secrets, provider keys, local absolute paths, or environment-specific values.
- Use
RepairableExceptionfor errors an agent may be able to fix. - This directory is a file-documented DOX profile: every direct
*.pyhelper module must have a same-directory*.py.dox.mdfile named by appending.dox.mdto the full Python filename. - The
*.py.dox.mdfile owns helper purpose, public classes/functions, cross-module contracts, persistence or side effects, path/security assumptions, important dependencies, and verification guidance. - When a helper module is added, removed, renamed, or behaviorally changed, update its matching
*.py.dox.mdin the same change. - Do not leave stale file-level DOX after helper deletion or rename.
Work Guidance
- Prefer cohesive helper modules over adding unrelated utilities to large files.
- Keep imports acyclic where possible; defer imports inside functions only when needed to avoid startup cycles.
- For changes touching auth, CSRF, files, plugins, tunnels, WebSockets, or model calls, read the caller and tests before editing.
- During the DOX pass, verify that every direct
*.pyfile has a matching*.py.dox.mdand that changed helper behavior is described there.
Verification
- Run targeted tests for changed helper modules.
- Run security regression tests for auth, CSRF, filesystem, WebSocket, tunnel, upload, or image-serving changes.
- Check file-level documentation coverage with a script or shell loop that verifies each
helpers/*.pyhas a matchinghelpers/*.py.dox.md.
Child DOX Index
No child DOX files.