chore: initialize repository with project docs and tooling
- Add persistent docs: PRD, functional design, architecture, repository structure, development guidelines, milestones - Add brainstorming notes (docs/ideas/) - Configure tooling: package.json, tsconfig, eslint, prettier, vitest - Add opencode configuration (commands, skills, agents) - Add .gitignore for node_modules, .env, data/, backups/, build outputs
This commit is contained in:
116
.opencode/skills/prd-writing/template.md
Normal file
116
.opencode/skills/prd-writing/template.md
Normal file
@ -0,0 +1,116 @@
|
||||
# Product Requirements Document
|
||||
|
||||
## Product overview
|
||||
|
||||
### Name
|
||||
**[Product name]** - [Subtitle]
|
||||
|
||||
### Product concept
|
||||
- **[Concept 1]**: [Description]
|
||||
- **[Concept 2]**: [Description]
|
||||
- **[Concept 3]**: [Description]
|
||||
|
||||
### Product vision
|
||||
[Describe the world this product aims for, in 3-5 sentences]
|
||||
|
||||
### Purpose
|
||||
- [Purpose 1]
|
||||
- [Purpose 2]
|
||||
- [Purpose 3]
|
||||
|
||||
## Target users
|
||||
|
||||
### Primary persona: [Name] ([Age], [Occupation])
|
||||
- [Attribute 1: e.g., freelancer running 3-5 projects in parallel]
|
||||
- [Attribute 2: e.g., Vim/Emacs + terminal environment]
|
||||
- [Current problem: e.g., does not want to spend time on task management]
|
||||
- [Expected solution]
|
||||
- [A typical daily workflow]
|
||||
|
||||
## Success metrics (KPIs)
|
||||
|
||||
### Primary KPIs
|
||||
- [Metric 1]: [Target value] ([Deadline])
|
||||
- Example: Daily active users (DAU): 100 (in 3 months)
|
||||
- [Metric 2]: [Target value] ([Deadline])
|
||||
- Example: Task completion rate: 70% or higher
|
||||
|
||||
### Secondary KPIs
|
||||
- [Metric 1]: [Target value] ([Deadline])
|
||||
- [Metric 2]: [Target value] ([Deadline])
|
||||
|
||||
## Functional requirements
|
||||
|
||||
### Core features (MVP)
|
||||
|
||||
#### [Feature 1]
|
||||
|
||||
**User story**:
|
||||
As a [user], I want [feature] so that [goal]
|
||||
|
||||
**Acceptance criteria**:
|
||||
- [ ] [Criterion 1: described in a measurable form]
|
||||
- [ ] [Criterion 2: described in a measurable form]
|
||||
- [ ] [Criterion 3: described in a measurable form]
|
||||
|
||||
**Priority**: P0 (Required)
|
||||
|
||||
#### [Feature 2]
|
||||
|
||||
**User story**:
|
||||
[Description]
|
||||
|
||||
**Acceptance criteria**:
|
||||
- [ ] [Criterion 1]
|
||||
- [ ] [Criterion 2]
|
||||
|
||||
**Priority**: P1 (Important)
|
||||
|
||||
### CLI interface (if applicable)
|
||||
|
||||
```bash
|
||||
# Example of basic operations
|
||||
[command] [subcommand] [options]
|
||||
# Write specific command examples
|
||||
```
|
||||
|
||||
### Future features (Post-MVP)
|
||||
|
||||
#### [Feature 3]
|
||||
|
||||
[Brief description]
|
||||
|
||||
**Priority**: P2 (Nice to have)
|
||||
|
||||
## Non-functional requirements
|
||||
|
||||
### Performance
|
||||
- [Requirement 1]: [Measurable standard]
|
||||
- Example: Command execution time: within 100ms
|
||||
- [Requirement 2]: [Measurable standard]
|
||||
- Example: Task list display: within 1 second for up to 1000 items
|
||||
|
||||
### Usability
|
||||
- [Requirement 1]: [Measurable standard]
|
||||
- Example: A new user can learn the basic operations within 5 minutes
|
||||
- [Requirement 2]: [Measurable standard]
|
||||
|
||||
### Reliability
|
||||
- [Requirement 1]: [Measurable standard]
|
||||
- Example: Zero data loss (automatic backup)
|
||||
- [Requirement 2]: [Measurable standard]
|
||||
|
||||
### Security
|
||||
- [Requirement 1]: [Measurable standard]
|
||||
- [Requirement 2]: [Measurable standard]
|
||||
|
||||
### Scalability
|
||||
- [Requirement 1]: [Measurable standard]
|
||||
- [Requirement 2]: [Measurable standard]
|
||||
|
||||
## Out of scope
|
||||
|
||||
Items explicitly considered out of scope:
|
||||
- [Item 1]
|
||||
- [Item 2]
|
||||
- [Item 3]
|
||||
Reference in New Issue
Block a user