npx agentspec-cli install 1d2396e8-33af-4ea6-ac7a-28776acc4232 --file-type agents-md→ .agents/
# AGENTS.md - Development Guide for Agentic Coding Agents
This document provides essential information for agentic coding agents (Cursor, Claude, Copilot, Windsurf, etc.) working on **Promptr**.
Promptr is a prompt testing & evaluation sandbox for AI agent builders. The platform is designed primarily to load custom scenarios, define constraints, and systematically stress-test prompts against adversarial workflows. It also features a curated curriculum of 25 missions across 5 progressive levels (Agent Basics → Tool Use → Workflow Control → Guardrails → Evals) as a secondary tool for users to level up their prompting skills.
**License:** MIT
**Target audience:** Developers building AI agents who want to evaluate, stress-test, and write reliable, production-grade instruction prompts
---
## Codebase Structure (Monorepo)
```
promptr/
├── web/ # Next.js Frontend
│ ├── src/app/ # App Router pages
│ ├── src/components/ # React components
│ └── src/lib/ # Utilities
├── server/ # FastAPI Backend
│ ├── routers/ # API Endpoints
│ ├── services/ # AI logic (LLM service)
│ ├── schemas/ # Pydantic models
│ └── tests/ # Python unit & integration tests
├── Makefile # Root orchestrator
└── package.json # Root monorepo scripts
```
---
## Package Managers & Core Commands
MUST DO - ALWAYS ADD UNIT TESTS FOR EVERY NEW CODE ADDED
Always check for linting and formatting errors at the end
### Root (Monorepo)
```bash
# Install all dependencies
pnpm install
# Start both frontend and backend
pnpm dev
# Run all tests
pnpm test
# Format all codebases
pnpm format
# Lint all codebases
pnpm lint
```
### Frontend (Next.js + TypeScript)
Always use **pnpm** — never npm or yarn.
```bash
# Run from root
pnpm --filter web dev
pnpm --filter web build
pnpm --filter web test
pnpm --filter web lint
```
### Backend (FastAPI + Python)
The backend lives in `./server/`. Use `uv` for dependency management.
```bash
# Run from root
make -C server dev
make -C server test
make -C server format
make -C server lint
```
---
## Environment Variables
Copy `.env.example` to `.env` and fill in values.
| Variable | Description |
| ------------------ | --------------------------------------------------------- |
| `DATABASE_URL` | MongoDB connection string |
| `AUTH_SECRET` | JWT secret for backend session token signing/validation |
| `GITHUB_CLIENT_ID` | GitHub OAuth App client ID |
| `GITHUB_CLIENT_SECRET` | GitHub OAuth App client secret |
| `OPENAI_API_KEY` | OpenAI API key for backend evaluations |
---
## Code Style Guidelines
### TypeScript (Frontend)
- Strict mode enabled
- Functional components only
- Use Tailwind CSS with the **Cyber-Mint** palette (`#48d8a4`)
- Use **shadcn/ui** primitives
- Bold Normal Case for primary buttons
### Python (Backend)
- **Strict 300-line limit**: NO code file should ever exceed 300 lines. This ensures high readability and forces modularization of complex services (e.g., separating prompts into dedicated files).
- Try to always follow SOLID principles wherever possible
- Use Pydantic `BaseModel` for all request/response bodies
- Use `async def` for all route handlers
- Parse LLM JSON responses defensively using `_parse_llm_json`
- Return structured error messages via `HTTPException`
- Use `loguru` for beautiful logging
---
## Architectural Patterns
### Data Flow
```
User → Next.js frontend (App Router)
→ API Route (web/src/app/api/...)
→ FastAPI backend (POST /...)
→ OpenAI API (or other LLM)
→ Structured JSON response
→ Frontend renders feedback
```
### AI Integration
- **Backend**: uses `openai` Python SDK with GPT models.
- **JSON Output**: LLM responses **always** return JSON — strip fences before parsing using the shared utility.
---
## Testing Expectations
- **Frontend**: Vitest + React Testing Library. Run with `pnpm --filter web test`.
- **Backend**: pytest with mocked LLM API calls. Run with `make -C server test`.
---
## Debugging Tips
**Frontend**
- Next.js 404/Hydration errors? Run `pnpm clean`.
- Check `web/src/env.js` for environment variable schema validation.
**Backend**
- JSON parse failures? Check the stripping logic for ` ```json ` fences.
- Use `loguru` logs to trace AI reasoning and backend state.
---
Help make Promptr the best place to learn prompt engineering for AI agents. Contributions welcome at https://github.com/shreyansh232/promptr.
Agents.md — Guidance for AI-assisted Development
_An overview of the current repository and its related projects, generated by [AgentPrimer](https://github.com/deanthecoder/AgentPrimer)._
by AgentHub Crawler
Summary
PromptTrail: A lightweight library for Prompt Programming, Agent as Code
by AgentHub Crawler
AGENTS.md
Operational guide for AI agents working in this repository.
by AgentHub Crawler
create-agentsmd
Sign in to leave a comment.
Prompt for generating an AGENTS.md file for a repository
by AgentHub Crawler