# Example Feature Specification

**Status:** Planned
**Version:** 1.0
**Last Updated:** YYYY-MM-DD

## Purpose

This is an example specification to demonstrate the format. Replace this with your actual feature description explaining why this feature exists and what problem it solves.

## User Stories

- As a user, I want [action] so that [benefit]
- As an admin, I want [action] so that [benefit]

## Requirements

### Functional Requirements
- [ ] Requirement 1 - Description of what the system must do
- [ ] Requirement 2 - Another functional requirement

### Non-Functional Requirements
- [ ] Performance: [target metrics]
- [ ] Security: [security considerations]
- [ ] Accessibility: [WCAG level]

## Technical Notes

- **Uses:** Existing patterns or components to leverage
- **Location:** Where the code should live (e.g., `{{appDir}}/app/dashboard/`)
- **Dependencies:** External libraries or APIs needed
- **Database:** Schema changes required (if any)

## Visual Requirements

(For UI features - delete this section if backend-only)

- **Layout:** Describe the layout structure and responsive behavior
- **Components:** List the UI components needed (Button, Card, Table, etc.)
- **Chart Types:** If applicable, specify chart types needed
- **States:**
  - Empty: What to show when there's no data
  - Loading: Skeleton or spinner pattern
  - Error: How to display errors
- **Mobile:** How the layout adapts on small screens
- **Reference:** Link to similar pages in the app or design references

## API Endpoints

(If applicable)

| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/api/example` | Fetch example data |
| POST | `/api/example` | Create new example |

## Acceptance Criteria

- [ ] Criteria 1 - Specific, testable condition
- [ ] Criteria 2 - Another acceptance criterion
- [ ] Criteria 3 - E2E testable scenario

## Out of Scope

- Feature X (planned for future iteration)
- Integration Y (separate spec)

## Open Questions

- [ ] Question 1 - Decision needed
- [ ] Question 2 - Clarification required
