trax/docs/templates/ai-friendly-prd-template.md

12 KiB

I'll save the AI-friendly PRD template for you. Let me create the file in your templates directory.

[1 tool called]

Perfect! I can see your templates directory. Now I'll create the AI-friendly PRD template file:

# AI-Friendly PRD Template

## 🎯 Product Vision
*"We're building [product name] that enables [user type] to [primary action] by [core mechanism], resulting in [measurable outcome]."*

## 🏗️ System Architecture Overview
### Core Components
- **Data Layer**: [Database, storage, caching strategy]
- **Business Logic**: [Core algorithms, processing rules]
- **Interface Layer**: [UI/API endpoints, user interactions]
- **Integration Layer**: [External services, APIs, webhooks]

### System Boundaries
- **What's In Scope**: [Clear boundaries of what the system handles]
- **What's Out of Scope**: [What the system explicitly doesn't handle]
- **Integration Points**: [Where the system connects to external services]

## 👥 User Types & Permissions
### Primary User: [User Type Name]
- **Role**: [What they do in the system]
- **Permissions**: [What they can access/modify]
- **Goals**: [What they're trying to achieve]
- **Constraints**: [Limitations on their actions]

### Secondary User: [User Type Name]
- **Role**: [What they do in the system]
- **Permissions**: [What they can access/modify]
- **Goals**: [What they're trying to achieve]
- **Constraints**: [Limitations on their actions]

## 🔧 Functional Requirements

### Feature 1: [Feature Name]
#### Purpose
[Clear statement of what this feature accomplishes]

#### User Stories
- **As a** [user type], **I want** [action], **so that** [benefit]
- **As a** [user type], **I want** [action], **so that** [benefit]

#### Acceptance Criteria
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]

#
...

Let me reevaluate and take a different approach.

_(It may take a moment for the assistant to restart.)_



_(It may take a moment for the assistant to restart.)_

I apologize for the confusion. I understand you want me to save the AI-friendly PRD template. Since I don't have the file creation tool available, let me provide you with the complete template content that you can save yourself:

## 🤖 **AI-Friendly PRD Template**
*Save this as: `docs/templates/ai-friendly-prd-template.md`*

```markdown
# AI-Friendly PRD Template

## 🎯 Product Vision
*"We're building [product name] that enables [user type] to [primary action] by [core mechanism], resulting in [measurable outcome]."*

## 🏗️ System Architecture Overview
### Core Components
- **Data Layer**: [Database, storage, caching strategy]
- **Business Logic**: [Core algorithms, processing rules]
- **Interface Layer**: [UI/API endpoints, user interactions]
- **Integration Layer**: [External services, APIs, webhooks]

### System Boundaries
- **What's In Scope**: [Clear boundaries of what the system handles]
- **What's Out of Scope**: [What the system explicitly doesn't handle]
- **Integration Points**: [Where the system connects to external services]

## 👥 User Types & Permissions
### Primary User: [User Type Name]
- **Role**: [What they do in the system]
- **Permissions**: [What they can access/modify]
- **Goals**: [What they're trying to achieve]
- **Constraints**: [Limitations on their actions]

### Secondary User: [User Type Name]
- **Role**: [What they do in the system]
- **Permissions**: [What they can access/modify]
- **Goals**: [What they're trying to achieve]
- **Constraints**: [Limitations on their actions]

## 🔧 Functional Requirements

### Feature 1: [Feature Name]
#### Purpose
[Clear statement of what this feature accomplishes]

#### User Stories
- **As a** [user type], **I want** [action], **so that** [benefit]
- **As a** [user type], **I want** [action], **so that** [benefit]

#### Acceptance Criteria
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]

#### Input Validation Rules
- [Input field]: [Validation rule] - [Error message]
- [Input field]: [Validation rule] - [Error message]

#### Business Logic Rules
- **Rule 1**: [Specific business rule with conditions]
- **Rule 2**: [Specific business rule with conditions]

#### Error Handling
- **Error Case 1**: [What happens when this error occurs]
- **Error Case 2**: [What happens when this error occurs]

### Feature 2: [Feature Name]
#### Purpose
[Clear statement of what this feature accomplishes]

#### User Stories
- **As a** [user type], **I want** [action], **so that** [benefit]
- **As a** [user type], **I want** [action], **so that** [benefit]

#### Acceptance Criteria
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]
- [ ] **Given** [precondition], **When** [action], **Then** [expected result]

#### Input Validation Rules
- [Input field]: [Validation rule] - [Error message]

#### Business Logic Rules
- **Rule 1**: [Specific business rule with conditions]

#### Error Handling
- **Error Case 1**: [What happens when this error occurs]

## 🖥️ User Interface Flows

### Flow 1: [Primary User Journey]
#### Screen 1: [Screen Name]
- **Purpose**: [What this screen accomplishes]
- **Elements**:
  - [Element name]: [Type] - [Purpose/behavior]
  - [Element name]: [Type] - [Purpose/behavior]
- **Actions**:
  - [Button/Link]: [Action] → [Next screen/result]
  - [Button/Link]: [Action] → [Next screen/result]
- **Validation**: [What gets validated on this screen]
- **Error States**: [What error messages show and where]

#### Screen 2: [Screen Name]
- **Purpose**: [What this screen accomplishes]
- **Elements**:
  - [Element name]: [Type] - [Purpose/behavior]
  - [Element name]: [Type] - [Purpose/behavior]
- **Actions**:
  - [Button/Link]: [Action] → [Next screen/result]
  - [Button/Link]: [Action] → [Next screen/result]
- **Validation**: [What gets validated on this screen]
- **Error States**: [What error messages show and where]

#### Screen 3: [Screen Name]
- **Purpose**: [What this screen accomplishes]
- **Elements**:
  - [Element name]: [Type] - [Purpose/behavior]
  - [Element name]: [Type] - [Purpose/behavior]
- **Actions**:
  - [Button/Link]: [Action] → [Next screen/result]
  - [Button/Link]: [Action] → [Next screen/result]
- **Success State**: [What success looks like]
- **Error States**: [What error messages show and where]

### Flow 2: [Secondary User Journey]
#### Screen 1: [Screen Name]
- **Purpose**: [What this screen accomplishes]
- **Elements**:
  - [Element name]: [Type] - [Purpose/behavior]
- **Actions**:
  - [Button/Link]: [Action] → [Next screen/result]
- **Validation**: [What gets validated on this screen]

#### Screen 2: [Screen Name]
- **Purpose**: [What this screen accomplishes]
- **Elements**:
  - [Element name]: [Type] - [Purpose/behavior]
- **Actions**:
  - [Button/Link]: [Action] → [Next screen/result]
- **Success State**: [What success looks like]

## 🔄 Data Flow & State Management

### Data Models
#### [Entity Name]
```json
{
  "id": "string (required, unique)",
  "name": "string (required, max 100 chars)",
  "status": "enum (active, inactive, pending)",
  "created_at": "timestamp (auto-generated)",
  "updated_at": "timestamp (auto-updated)"
}

[Entity Name]

{
  "id": "string (required, unique)",
  "user_id": "string (required, foreign key)",
  "data": "object (required)",
  "metadata": "object (optional)"
}

State Transitions

[Entity] State Machine

[Initial State] → [Action] → [New State]
[State A] → [Action 1] → [State B]
[State A] → [Action 2] → [State C]
[State B] → [Action 3] → [State D]

Data Validation Rules

  • Rule 1: [Specific validation rule with conditions]
  • Rule 2: [Specific validation rule with conditions]
  • Rule 3: [Specific validation rule with conditions]

🔌 API Specifications

Endpoint 1: [HTTP Method] /api/[resource]

Purpose

[What this endpoint does]

Request

{
  "field1": "string (required)",
  "field2": "number (optional)",
  "field3": "boolean (default: false)"
}

Response

{
  "success": "boolean",
  "data": {
    "id": "string",
    "field1": "string",
    "field2": "number",
    "created_at": "timestamp"
  },
  "errors": ["string array (if any)"]
}

Error Codes

  • 400: [Bad Request - specific reason]
  • 401: [Unauthorized - specific reason]
  • 404: [Not Found - specific reason]
  • 500: [Internal Server Error - specific reason]

Endpoint 2: [HTTP Method] /api/[resource]

Purpose

[What this endpoint does]

Request

{
  "field1": "string (required)"
}

Response

{
  "success": "boolean",
  "data": ["array of objects"],
  "pagination": {
    "page": "number",
    "limit": "number",
    "total": "number"
  }
}

🧪 Testing Requirements

Unit Tests

  • [Function name]: [Test scenario]
  • [Function name]: [Test scenario]
  • [Function name]: [Test scenario]

Integration Tests

  • [API endpoint]: [Test scenario with data]
  • [API endpoint]: [Test scenario with data]
  • [User flow]: [End-to-end test scenario]

Edge Cases

  • [Edge case description]: [Expected behavior]
  • [Edge case description]: [Expected behavior]
  • [Edge case description]: [Expected behavior]

🚀 Implementation Phases

Phase 1: Core Foundation

Goal: [Basic functionality working]

  • [Feature/component] - [Acceptance criteria]
  • [Feature/component] - [Acceptance criteria]
  • [Feature/component] - [Acceptance criteria]

Phase 2: Enhanced Features

Goal: [Additional functionality]

  • [Feature/component] - [Acceptance criteria]
  • [Feature/component] - [Acceptance criteria]

Phase 3: Polish & Optimization

Goal: [Performance and UX improvements]

  • [Feature/component] - [Acceptance criteria]
  • [Feature/component] - [Acceptance criteria]

🔒 Security & Constraints

Security Requirements

  • Authentication: [How users are authenticated]
  • Authorization: [How permissions are checked]
  • Data Protection: [How sensitive data is handled]
  • Input Sanitization: [How user input is cleaned]

Performance Constraints

  • Response Time: [Maximum acceptable response time]
  • Throughput: [Maximum requests per second]
  • Memory Usage: [Maximum memory consumption]
  • Database Queries: [Maximum query execution time]

Technical Constraints

  • Browser Support: [Minimum browser versions]
  • Device Support: [Supported devices/platforms]
  • Network Requirements: [Minimum bandwidth/connectivity]
  • Storage Limits: [Maximum file sizes/data storage]

📋 Definition of Done

Feature Complete

  • All acceptance criteria met
  • Unit tests passing
  • Integration tests passing
  • Code review completed
  • Documentation updated

Ready for Deployment

  • Performance benchmarks met
  • Security review completed
  • Error handling tested
  • User acceptance testing passed
  • Rollback plan prepared

This template provides clear, deterministic requirements that are easy for AI systems to understand and implement.


This template is perfect for "vibe coding" with AI because it:

1. **Systems-oriented**: Clear data models, API specs, state machines
2. **Deterministic**: Specific acceptance criteria, validation rules, error handling
3. **Heavy on functional requirements**: Detailed user stories, acceptance criteria, business logic
4. **Extensive user flows**: Step-by-step screen flows with elements, actions, and validations
5. **AI-parseable**: Structured format that AI can easily understand and implement