# Product Requirements Document: [Project Name] > **AI Context**: This document is the PRIMARY source of truth for the AI agent. Read this BEFORE writing any code. ## 1. Introduction - **Purpose**: [One sentence describing what this project does] - **Target Users**: [Who will use this?] - **Status**: Draft | In Development | Production Ready ## 2. Goals & Objectives - [ ] Functional goal 1: [e.g., "Users can authenticate with email/password"] - [ ] Functional goal 2: [e.g., "API response time < 200ms p95"] - [ ] Functional goal 3: [e.g., "Support 10k concurrent users"] ## 3. Tech Stack | Layer | Technology | Version | |-------|-----------|---------| | Frontend | [e.g., React, Vue, vanilla JS] | | | Backend | [e.g., FastAPI, Node.js, Django] | | | Database | [e.g., PostgreSQL, SQLite, MongoDB] | | | Auth | [e.g., JWT, OAuth2, Session] | | | Testing | [e.g., pytest, Jest, Vitest] | | | Deployment | [e.g., Docker, Vercel, HF Spaces] | | ## 4. Features & Functionality ### Feature 1: [Feature Name] - **Description**: [What it does in 1-2 sentences] - **User Story**: As a [role], I want [goal], so that [benefit] - **Acceptance Criteria**: - [ ] Criterion 1 - [ ] Criterion 2 - **API/Interface**: [Endpoint or component signature] - **Edge Cases**: [Error conditions, validation rules] ### Feature 2: [Feature Name] - [Repeat structure] ## 5. Data Models ``` Entity: User - id: UUID (primary key) - email: string (unique, validated) - password_hash: string (bcrypt) - created_at: datetime - updated_at: datetime Entity: [Next Entity] - ... ``` ## 6. API Specification ### Endpoint: POST /api/v1/[resource] - **Description**: [What it does] - **Request Body**: ```json { "field": "type // description" } ``` - **Response 200**: ```json { "id": "uuid", "field": "value" } ``` - **Response 400/401/404/500**: [Error response schema] - **Auth Required**: Yes/No - **Rate Limit**: [If applicable] ## 7. Non-Functional Requirements - **Performance**: [e.g., p95 latency < 200ms] - **Security**: [e.g., OWASP Top 10 compliance, input sanitization] - **Scalability**: [e.g., horizontal scaling strategy] - **Accessibility**: [e.g., WCAG 2.1 AA] - **Browser Support**: [e.g., Chrome 110+, Firefox 120+] ## 8. Constraints & Assumptions - [Assumption 1: e.g., "Users have modern browsers"] - [Constraint 1: e.g., "Must run on single VPS with 2GB RAM"] ## 9. Open Questions - [Question the AI should clarify before implementing]