A standard Better Agent project is organized to separate agent logic, testing, and prompt management. Follow this directory structure to ensure compatibility with development guidelines and AI coding assistants:
app/ (or src/): The core agent implementation code.tests/evaluations/: Jupyter notebooks containing datasets and notebooks for evaluating specific pipeline pieces (like RAG or classification).tests/scenarios/: End-to-end scenario tests (e.g., .py or .ts files) that simulate agent conversations.prompts/: Versioned prompt files stored in .yaml format.prompts.json: The prompt registry that syncs and controls the versioned prompts..mcp.json: MCP server configuration that enables AI coding assistants to understand your framework and write Scenario tests..cursor/mcp.json: A symlink to .mcp.json specifically for Cursor users.AGENTS.md: Development guidelines for the project.CLAUDE.md: Configuration for Claude Code, which references AGENTS.md.
my-agent-project/
├── app/ (or src/) # The actual agent code, structured according to the chosen framework
├── tests/
│ ├── evaluations/ # Jupyter notebooks for evaluations
│ │ └── example_eval.ipynb
│ └── scenarios/ # End-to-end scenario tests
│ └── example_scenario.test.{py,ts}
├── prompts/
│ └── sample_prompt.yaml
├── prompts.json # Prompt registry
├── .mcp.json # MCP server configuration (universal)
├── .cursor/mcp.json # Symlink to .mcp.json for Cursor
├── AGENTS.md # Development guidelines
├── CLAUDE.md # References AGENTS.md for Claude Code
├── .env # Environment variables
└── .gitignore