DojoAgents is an AI agent framework for personal investing that analyzes portfolio holdings alongside financial data and market relationships. It is intended for individual investors and provides interfaces including a command line, web dashboard, and chat gateways. The catalogue entries are add-ons for working with the framework.
Borrowing it
Nothing to install: this file belongs to Alpha-Dojo/DojoAgents. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Alpha-Dojo/DojoAgents/main/AGENTS.mdgit clone --depth 1 https://github.com/Alpha-Dojo/DojoAgentsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/alpha-dojo/dojoagents/agents-md)<a href="https://agentmods.dev/instructions/alpha-dojo/dojoagents/agents-md"><img src="https://agentmods.dev/badge/instructions/alpha-dojo/dojoagents/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/alpha-dojo/dojoagents/agents-md"><img src="https://agentmods.dev/badge/instructions/alpha-dojo/dojoagents/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.05157 | $0.05157 |
| Opus 5.5 | $0.02063 | $0.02063 |
| Sonnet 5.5 | $0.01031 | $0.01031 |
| Haiku 4.5 | $0.00516 | $0.00516 |
Grade A, and why
DojoAgents AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 23d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 340 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Repository Agent Instructions
Non-Negotiable Local Rules
gitcommands are FORBIDDEN in this repository. Do NOT rungit status,git diff,git show,git checkout,git reset,git commit, or any othergitsubcommand.- Temporary scripts MUST be placed under
.agents/scripts/. - New production business code MUST use AnyIO. Outside the explicit compatibility allowlist (see §3 "Unified ASYNC RUNTIME"), adding an
asyncioimport, a bare background task, or an unbounded async queue is FORBIDDEN. - New third-party dependencies MUST NOT be introduced unless the primary lockfile is updated in the same change:
- Python:
pyproject.tomlanduv.lock - Frontend:
dojoagents/dashboard/web/package.jsonanddojoagents/dashboard/web/package-lock.json
- Python:
1. High-Level Mental Map
Core Purpose
DojoAgents is a quantitative finance agent runtime. It wires an LLM-driven agent loop, sandboxed tools, skills, memory, scheduled jobs, chat gateways, plugins, and a FastAPI/React dashboard for financial analysis workflows.
Primary Tech Stack
- Python package:
dojoagentsversion0.2.8 - Python runtime:
>=3.11 - Async runtime: AnyIO
>=4.8,<5(the only sanctioned concurrency layer; see §3) - Backend/API: FastAPI
>=0.115.2,<0.116, uvicorn>=0.31.1,<0.36 - LLM/API clients: OpenAI SDK
>=1.20.0,<2, httpx>=0.27.0,<1 - Config/storage/data: PyYAML
>=6.0.1,<7, pandas>=2.2.0,<3, pyarrow>=14.0.0, portalocker, APScheduler>=3.10.0,<4 - Agent/tooling:
mcp>=1.26.0,<2,strands-agents,strands-agents-tools,dojosdk>=0.1.29 - Frontend: React
^19.2.6, React DOM^19.2.6, TypeScript~5.8.3, Vite^8.0.12 - Test stack: pytest
>=8.4.2, pytest-asyncio>=1.2.0(legacy@pytest.mark.asynciotests), AnyIO via@pytest.mark.anyiowith the sharedanyio_backendfixture pinned to"asyncio"
2. Repository Directory Structure (Global Overview)
.
├── AGENTS.md # This file: mandatory guidance for future agents.
├── README.md # User-facing setup, CLI, dashboard, and gateway overview.
├── VERSION # Package version marker.
├── pyproject.toml # Python package metadata, dependencies, console script.
├── requirements.txt # Runtime dependency mirror.
├── uv.lock # Primary Python lockfile.
├── docker/
│ └── Dockerfile # Container packaging.
├── docs/ # Documentation governance and MkDocs source.
│ ├── README.md # Documentation taxonomy and maintenance rules.
│ └── site/ # Only publishable documentation source.
│ ├── assets/ # Shared images and GIFs.
│ ├── en/ # English site: guides, architecture, design, reference, plans.
│ └── zh/ # Chinese site with matching relative paths.
├── tests/ # Pytest suite; mirrors agent, dashboard, gateway, plugin, tool surfaces.
├── .agents/
│ └── scripts/ # REQUIRED location for temporary scripts.
└── dojoagents/
├── __init__.py # Package root.
├── logging.py # Unified logger configuration and LOGGER singleton.
├── agent/ # Agent loop, runtime composition, providers, events, guardrails, harnesses.
│ ├── runtime.py # Main object graph wiring from ConfigStore.
│ ├── loop.py # AgentLoop orchestration and streaming/tool flow.
│ └── models.py # ChatRequest, ToolCall, ToolResult, LLMResult contracts.
├── cli/ # `dojoagents` console entry point and interactive config/gateway setup.
├── config/ # Central typed configuration system.
│ ├── loader.py # ConfigStore, env expansion, deep merge, redaction, save.
│ └── models.py # Frozen dataclass config schema.
├── cron/ # Job storage and scheduler integration.
├── dashboard/ # FastAPI server, routers, services, schemas, SSE, static assets, React app.
│ ├── server.py # Dashboard app factory, lifespan, config/chat/jobs endpoints.
│ ├── deps.py # FastAPI dependency accessors for initialized services.
│ ├── routers/ # API route modules. Add new dashboard routes here.
│ ├── schemas/ # Pydantic response/request models for dashboard APIs.
│ ├── services/ # Financial/domain services, stores, gateway wrappers, cache logic.
│ ├── tools/ # Dashboard-specific agent tool adapters.
│ ├── static/ # Packaged static HTML/assets.
│ └── web/ # React/Vite frontend source and frontend lockfile.
├── dojo_extensions/ # DojoExtension protocol and registry for first-class extensions.
├── gateway/ # Chat gateway server, runner, state, pairing, platform adapters.
│ └── adapters/ # Slack/Telegram/WeChat/Feishu/etc adapters; subclass BaseGatewayAdapter.
├── memory/ # Memory provider protocol, manager, local/skill-summary providers.
├── multi_agent/ # Agent pool, delegation tools, orchestrator, triggers, automation.
├── planning/ # Plan models, state store, execution engine, tools, triggers.
├── plugins/ # Plugin discovery, manifests, hooks, plugin tool registration.
│ └── built_in/ # Built-in plugin examples and guardrails.
├── quant/ # Quant context, risk, workflow primitives.
├── skills/ # Skill manager/cache/loader and built-in procedural skills.
├── tools/ # ToolSpec registry, executor, sandbox, terminal/code/MCP/web/skill tools.
│ └── environments/ # Local/Docker/SSH/Modal execution environment adapters.
└── utils/ # Shared utility modules such as event bus and fuzzy matching.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 23d ago Changed · +70 lines · +1,427 tokens per session 072fc7332a3c
- 27d ago Changed · +13 lines · +273 tokens per session a8f9c3b147fc
- 2mo ago First seen · 257 lines · 3,457 tokens per session scan A 2391b0da28f9
DojoAgents AGENTS.md is an instructions file published in the GitHub repository Alpha-Dojo/DojoAgents (3,864 stars, last pushed 7d ago), licensed Apache-2.0. It adds 5,157 tokens to every session, about $0.0206 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
DojoAgents AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| DojoAgents AGENTS.mdAlpha-Dojo/DojoAgents | Instructions file | 3.9k | 7d ago | Apache-2.0 | A | 5,157 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |