@howlil/ez-agents 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +157 -110
- package/README.zh-CN.md +84 -84
- package/agents/ez-plan-checker.md +2 -2
- package/agents/ez-research-synthesizer.md +1 -1
- package/agents/ez-ui-auditor.md +0 -2
- package/agents/ez-ui-checker.md +2 -4
- package/agents/ez-ui-researcher.md +0 -2
- package/agents/ez-verifier.md +1 -1
- package/bin/install.js +211 -211
- package/commands/ez/debug.md +1 -1
- package/commands/ez/map-codebase.md +1 -1
- package/commands/ez/reapply-patches.md +3 -3
- package/commands/ez/research-phase.md +1 -1
- package/{get-shit-done → ez-agents}/bin/ez-tools.cjs +1 -1
- package/{get-shit-done → ez-agents}/bin/lib/assistant-adapter.cjs +205 -205
- package/{get-shit-done → ez-agents}/bin/lib/audit-exec.cjs +150 -150
- package/{get-shit-done → ez-agents}/bin/lib/auth.cjs +175 -175
- package/{get-shit-done → ez-agents}/bin/lib/circuit-breaker.cjs +118 -118
- package/{get-shit-done → ez-agents}/bin/lib/commands.cjs +666 -666
- package/{get-shit-done → ez-agents}/bin/lib/config.cjs +183 -183
- package/{get-shit-done → ez-agents}/bin/lib/core.cjs +495 -495
- package/{get-shit-done → ez-agents}/bin/lib/file-lock.cjs +236 -236
- package/{get-shit-done → ez-agents}/bin/lib/frontmatter.cjs +299 -299
- package/{get-shit-done → ez-agents}/bin/lib/fs-utils.cjs +153 -153
- package/{get-shit-done → ez-agents}/bin/lib/git-utils.cjs +203 -203
- package/{get-shit-done → ez-agents}/bin/lib/health-check.cjs +163 -163
- package/{get-shit-done → ez-agents}/bin/lib/index.cjs +113 -113
- package/{get-shit-done → ez-agents}/bin/lib/init.cjs +710 -710
- package/{get-shit-done → ez-agents}/bin/lib/logger.cjs +117 -117
- package/{get-shit-done → ez-agents}/bin/lib/milestone.cjs +241 -241
- package/{get-shit-done → ez-agents}/bin/lib/model-provider.cjs +146 -146
- package/{get-shit-done → ez-agents}/bin/lib/phase.cjs +908 -908
- package/{get-shit-done → ez-agents}/bin/lib/retry.cjs +119 -119
- package/{get-shit-done → ez-agents}/bin/lib/roadmap.cjs +305 -305
- package/{get-shit-done → ez-agents}/bin/lib/safe-exec.cjs +128 -128
- package/{get-shit-done → ez-agents}/bin/lib/safe-path.cjs +130 -130
- package/{get-shit-done → ez-agents}/bin/lib/state.cjs +721 -721
- package/{get-shit-done → ez-agents}/bin/lib/temp-file.cjs +239 -239
- package/{get-shit-done → ez-agents}/bin/lib/template.cjs +222 -222
- package/{get-shit-done → ez-agents}/bin/lib/test-file-lock.cjs +112 -112
- package/{get-shit-done → ez-agents}/bin/lib/test-graceful.cjs +93 -93
- package/{get-shit-done → ez-agents}/bin/lib/test-logger.cjs +60 -60
- package/{get-shit-done → ez-agents}/bin/lib/test-safe-exec.cjs +38 -38
- package/{get-shit-done → ez-agents}/bin/lib/test-safe-path.cjs +33 -33
- package/{get-shit-done → ez-agents}/bin/lib/test-temp-file.cjs +125 -125
- package/{get-shit-done → ez-agents}/bin/lib/timeout-exec.cjs +62 -62
- package/{get-shit-done → ez-agents}/bin/lib/verify.cjs +820 -820
- package/{get-shit-done → ez-agents}/references/checkpoints.md +776 -776
- package/{get-shit-done → ez-agents}/references/questioning.md +162 -162
- package/{get-shit-done → ez-agents}/references/tdd.md +263 -263
- package/{get-shit-done → ez-agents}/templates/codebase/concerns.md +310 -310
- package/{get-shit-done → ez-agents}/templates/codebase/conventions.md +307 -307
- package/{get-shit-done → ez-agents}/templates/codebase/integrations.md +280 -280
- package/{get-shit-done → ez-agents}/templates/codebase/stack.md +186 -186
- package/{get-shit-done → ez-agents}/templates/codebase/testing.md +480 -480
- package/{get-shit-done → ez-agents}/templates/config.json +37 -37
- package/{get-shit-done → ez-agents}/templates/continue-here.md +78 -78
- package/{get-shit-done → ez-agents}/templates/milestone-archive.md +123 -123
- package/{get-shit-done → ez-agents}/templates/milestone.md +115 -115
- package/{get-shit-done → ez-agents}/templates/requirements.md +231 -231
- package/{get-shit-done → ez-agents}/templates/research-project/ARCHITECTURE.md +204 -204
- package/{get-shit-done → ez-agents}/templates/research-project/FEATURES.md +147 -147
- package/{get-shit-done → ez-agents}/templates/research-project/PITFALLS.md +200 -200
- package/{get-shit-done → ez-agents}/templates/research-project/STACK.md +120 -120
- package/{get-shit-done → ez-agents}/templates/research-project/SUMMARY.md +170 -170
- package/{get-shit-done → ez-agents}/templates/retrospective.md +54 -54
- package/{get-shit-done → ez-agents}/templates/roadmap.md +202 -202
- package/{get-shit-done → ez-agents}/templates/summary-minimal.md +41 -41
- package/{get-shit-done → ez-agents}/templates/summary-standard.md +48 -48
- package/{get-shit-done → ez-agents}/templates/summary.md +248 -248
- package/{get-shit-done → ez-agents}/templates/user-setup.md +311 -311
- package/{get-shit-done → ez-agents}/templates/verification-report.md +322 -322
- package/{get-shit-done → ez-agents}/workflows/add-phase.md +112 -112
- package/{get-shit-done → ez-agents}/workflows/add-tests.md +351 -351
- package/{get-shit-done → ez-agents}/workflows/add-todo.md +158 -158
- package/{get-shit-done → ez-agents}/workflows/audit-milestone.md +332 -332
- package/{get-shit-done → ez-agents}/workflows/autonomous.md +743 -743
- package/{get-shit-done → ez-agents}/workflows/check-todos.md +177 -177
- package/{get-shit-done → ez-agents}/workflows/cleanup.md +152 -152
- package/{get-shit-done → ez-agents}/workflows/complete-milestone.md +766 -766
- package/ez-agents/workflows/debug.md +0 -0
- package/{get-shit-done → ez-agents}/workflows/diagnose-issues.md +219 -219
- package/{get-shit-done → ez-agents}/workflows/discovery-phase.md +289 -289
- package/{get-shit-done → ez-agents}/workflows/discuss-phase.md +762 -762
- package/{get-shit-done → ez-agents}/workflows/execute-phase.md +468 -468
- package/{get-shit-done → ez-agents}/workflows/execute-plan.md +483 -483
- package/{get-shit-done → ez-agents}/workflows/health.md +159 -159
- package/{get-shit-done → ez-agents}/workflows/help.md +492 -492
- package/{get-shit-done → ez-agents}/workflows/insert-phase.md +130 -130
- package/{get-shit-done → ez-agents}/workflows/list-phase-assumptions.md +178 -178
- package/{get-shit-done → ez-agents}/workflows/map-codebase.md +316 -316
- package/{get-shit-done → ez-agents}/workflows/new-milestone.md +384 -384
- package/{get-shit-done → ez-agents}/workflows/new-project.md +1111 -1111
- package/{get-shit-done → ez-agents}/workflows/node-repair.md +92 -92
- package/{get-shit-done → ez-agents}/workflows/pause-work.md +122 -122
- package/{get-shit-done → ez-agents}/workflows/plan-milestone-gaps.md +274 -274
- package/{get-shit-done → ez-agents}/workflows/plan-phase.md +651 -651
- package/{get-shit-done → ez-agents}/workflows/progress.md +382 -382
- package/{get-shit-done → ez-agents}/workflows/quick.md +610 -610
- package/{get-shit-done → ez-agents}/workflows/remove-phase.md +155 -155
- package/{get-shit-done → ez-agents}/workflows/research-phase.md +74 -74
- package/{get-shit-done → ez-agents}/workflows/resume-project.md +307 -307
- package/{get-shit-done → ez-agents}/workflows/set-profile.md +81 -81
- package/{get-shit-done → ez-agents}/workflows/settings.md +242 -242
- package/{get-shit-done → ez-agents}/workflows/stats.md +57 -57
- package/{get-shit-done → ez-agents}/workflows/transition.md +544 -544
- package/{get-shit-done → ez-agents}/workflows/ui-phase.md +290 -290
- package/{get-shit-done → ez-agents}/workflows/ui-review.md +157 -157
- package/{get-shit-done → ez-agents}/workflows/update.md +320 -320
- package/{get-shit-done → ez-agents}/workflows/validate-phase.md +167 -167
- package/{get-shit-done → ez-agents}/workflows/verify-phase.md +243 -243
- package/{get-shit-done → ez-agents}/workflows/verify-work.md +5 -5
- package/hooks/dist/ez-check-update.js +81 -0
- package/hooks/dist/ez-context-monitor.js +141 -0
- package/hooks/dist/ez-statusline.js +115 -0
- package/package.json +13 -3
- package/scripts/build-hooks.js +43 -43
- package/scripts/run-tests.cjs +29 -29
- /package/{get-shit-done → ez-agents}/references/continuation-format.md +0 -0
- /package/{get-shit-done → ez-agents}/references/decimal-phase-calculation.md +0 -0
- /package/{get-shit-done → ez-agents}/references/git-integration.md +0 -0
- /package/{get-shit-done → ez-agents}/references/git-planning-commit.md +0 -0
- /package/{get-shit-done → ez-agents}/references/model-profile-resolution.md +0 -0
- /package/{get-shit-done → ez-agents}/references/model-profiles.md +0 -0
- /package/{get-shit-done → ez-agents}/references/phase-argument-parsing.md +0 -0
- /package/{get-shit-done → ez-agents}/references/planning-config.md +0 -0
- /package/{get-shit-done → ez-agents}/references/ui-brand.md +0 -0
- /package/{get-shit-done → ez-agents}/references/verification-patterns.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/DEBUG.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/UAT.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/UI-SPEC.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/VALIDATION.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/codebase/architecture.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/codebase/structure.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/context.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/copilot-instructions.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/debug-subagent-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/discovery.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/phase-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/planner-subagent-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/project.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/research.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/state.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/summary-complex.md +0 -0
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
# Features Research Template
|
|
2
|
-
|
|
3
|
-
Template for `.planning/research/FEATURES.md` — feature landscape for the project domain.
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# Feature Research
|
|
9
|
-
|
|
10
|
-
**Domain:** [domain type]
|
|
11
|
-
**Researched:** [date]
|
|
12
|
-
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
-
|
|
14
|
-
## Feature Landscape
|
|
15
|
-
|
|
16
|
-
### Table Stakes (Users Expect These)
|
|
17
|
-
|
|
18
|
-
Features users assume exist. Missing these = product feels incomplete.
|
|
19
|
-
|
|
20
|
-
| Feature | Why Expected | Complexity | Notes |
|
|
21
|
-
|---------|--------------|------------|-------|
|
|
22
|
-
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
23
|
-
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
24
|
-
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
25
|
-
|
|
26
|
-
### Differentiators (Competitive Advantage)
|
|
27
|
-
|
|
28
|
-
Features that set the product apart. Not required, but valuable.
|
|
29
|
-
|
|
30
|
-
| Feature | Value Proposition | Complexity | Notes |
|
|
31
|
-
|---------|-------------------|------------|-------|
|
|
32
|
-
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
33
|
-
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
34
|
-
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
35
|
-
|
|
36
|
-
### Anti-Features (Commonly Requested, Often Problematic)
|
|
37
|
-
|
|
38
|
-
Features that seem good but create problems.
|
|
39
|
-
|
|
40
|
-
| Feature | Why Requested | Why Problematic | Alternative |
|
|
41
|
-
|---------|---------------|-----------------|-------------|
|
|
42
|
-
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
43
|
-
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
44
|
-
|
|
45
|
-
## Feature Dependencies
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
[Feature A]
|
|
49
|
-
└──requires──> [Feature B]
|
|
50
|
-
└──requires──> [Feature C]
|
|
51
|
-
|
|
52
|
-
[Feature D] ──enhances──> [Feature A]
|
|
53
|
-
|
|
54
|
-
[Feature E] ──conflicts──> [Feature F]
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Dependency Notes
|
|
58
|
-
|
|
59
|
-
- **[Feature A] requires [Feature B]:** [why the dependency exists]
|
|
60
|
-
- **[Feature D] enhances [Feature A]:** [how they work together]
|
|
61
|
-
- **[Feature E] conflicts with [Feature F]:** [why they're incompatible]
|
|
62
|
-
|
|
63
|
-
## MVP Definition
|
|
64
|
-
|
|
65
|
-
### Launch With (v1)
|
|
66
|
-
|
|
67
|
-
Minimum viable product — what's needed to validate the concept.
|
|
68
|
-
|
|
69
|
-
- [ ] [Feature] — [why essential]
|
|
70
|
-
- [ ] [Feature] — [why essential]
|
|
71
|
-
- [ ] [Feature] — [why essential]
|
|
72
|
-
|
|
73
|
-
### Add After Validation (v1.x)
|
|
74
|
-
|
|
75
|
-
Features to add once core is working.
|
|
76
|
-
|
|
77
|
-
- [ ] [Feature] — [trigger for adding]
|
|
78
|
-
- [ ] [Feature] — [trigger for adding]
|
|
79
|
-
|
|
80
|
-
### Future Consideration (v2+)
|
|
81
|
-
|
|
82
|
-
Features to defer until product-market fit is established.
|
|
83
|
-
|
|
84
|
-
- [ ] [Feature] — [why defer]
|
|
85
|
-
- [ ] [Feature] — [why defer]
|
|
86
|
-
|
|
87
|
-
## Feature Prioritization Matrix
|
|
88
|
-
|
|
89
|
-
| Feature | User Value | Implementation Cost | Priority |
|
|
90
|
-
|---------|------------|---------------------|----------|
|
|
91
|
-
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
92
|
-
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
93
|
-
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
94
|
-
|
|
95
|
-
**Priority key:**
|
|
96
|
-
- P1: Must have for launch
|
|
97
|
-
- P2: Should have, add when possible
|
|
98
|
-
- P3: Nice to have, future consideration
|
|
99
|
-
|
|
100
|
-
## Competitor Feature Analysis
|
|
101
|
-
|
|
102
|
-
| Feature | Competitor A | Competitor B | Our Approach |
|
|
103
|
-
|---------|--------------|--------------|--------------|
|
|
104
|
-
| [feature] | [how they do it] | [how they do it] | [our plan] |
|
|
105
|
-
| [feature] | [how they do it] | [how they do it] | [our plan] |
|
|
106
|
-
|
|
107
|
-
## Sources
|
|
108
|
-
|
|
109
|
-
- [Competitor products analyzed]
|
|
110
|
-
- [User research or feedback sources]
|
|
111
|
-
- [Industry standards referenced]
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
*Feature research for: [domain]*
|
|
115
|
-
*Researched: [date]*
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
</template>
|
|
119
|
-
|
|
120
|
-
<guidelines>
|
|
121
|
-
|
|
122
|
-
**Table Stakes:**
|
|
123
|
-
- These are non-negotiable for launch
|
|
124
|
-
- Users don't give credit for having them, but penalize for missing them
|
|
125
|
-
- Example: A community platform without user profiles is broken
|
|
126
|
-
|
|
127
|
-
**Differentiators:**
|
|
128
|
-
- These are where you compete
|
|
129
|
-
- Should align with the Core Value from PROJECT.md
|
|
130
|
-
- Don't try to differentiate on everything
|
|
131
|
-
|
|
132
|
-
**Anti-Features:**
|
|
133
|
-
- Prevent scope creep by documenting what seems good but isn't
|
|
134
|
-
- Include the alternative approach
|
|
135
|
-
- Example: "Real-time everything" often creates complexity without value
|
|
136
|
-
|
|
137
|
-
**Feature Dependencies:**
|
|
138
|
-
- Critical for roadmap phase ordering
|
|
139
|
-
- If A requires B, B must be in an earlier phase
|
|
140
|
-
- Conflicts inform what NOT to combine in same phase
|
|
141
|
-
|
|
142
|
-
**MVP Definition:**
|
|
143
|
-
- Be ruthless about what's truly minimum
|
|
144
|
-
- "Nice to have" is not MVP
|
|
145
|
-
- Launch with less, validate, then expand
|
|
146
|
-
|
|
147
|
-
</guidelines>
|
|
1
|
+
# Features Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/FEATURES.md` — feature landscape for the project domain.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Feature Research
|
|
9
|
+
|
|
10
|
+
**Domain:** [domain type]
|
|
11
|
+
**Researched:** [date]
|
|
12
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
+
|
|
14
|
+
## Feature Landscape
|
|
15
|
+
|
|
16
|
+
### Table Stakes (Users Expect These)
|
|
17
|
+
|
|
18
|
+
Features users assume exist. Missing these = product feels incomplete.
|
|
19
|
+
|
|
20
|
+
| Feature | Why Expected | Complexity | Notes |
|
|
21
|
+
|---------|--------------|------------|-------|
|
|
22
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
23
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
24
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
25
|
+
|
|
26
|
+
### Differentiators (Competitive Advantage)
|
|
27
|
+
|
|
28
|
+
Features that set the product apart. Not required, but valuable.
|
|
29
|
+
|
|
30
|
+
| Feature | Value Proposition | Complexity | Notes |
|
|
31
|
+
|---------|-------------------|------------|-------|
|
|
32
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
33
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
34
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
35
|
+
|
|
36
|
+
### Anti-Features (Commonly Requested, Often Problematic)
|
|
37
|
+
|
|
38
|
+
Features that seem good but create problems.
|
|
39
|
+
|
|
40
|
+
| Feature | Why Requested | Why Problematic | Alternative |
|
|
41
|
+
|---------|---------------|-----------------|-------------|
|
|
42
|
+
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
43
|
+
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
44
|
+
|
|
45
|
+
## Feature Dependencies
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
[Feature A]
|
|
49
|
+
└──requires──> [Feature B]
|
|
50
|
+
└──requires──> [Feature C]
|
|
51
|
+
|
|
52
|
+
[Feature D] ──enhances──> [Feature A]
|
|
53
|
+
|
|
54
|
+
[Feature E] ──conflicts──> [Feature F]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Dependency Notes
|
|
58
|
+
|
|
59
|
+
- **[Feature A] requires [Feature B]:** [why the dependency exists]
|
|
60
|
+
- **[Feature D] enhances [Feature A]:** [how they work together]
|
|
61
|
+
- **[Feature E] conflicts with [Feature F]:** [why they're incompatible]
|
|
62
|
+
|
|
63
|
+
## MVP Definition
|
|
64
|
+
|
|
65
|
+
### Launch With (v1)
|
|
66
|
+
|
|
67
|
+
Minimum viable product — what's needed to validate the concept.
|
|
68
|
+
|
|
69
|
+
- [ ] [Feature] — [why essential]
|
|
70
|
+
- [ ] [Feature] — [why essential]
|
|
71
|
+
- [ ] [Feature] — [why essential]
|
|
72
|
+
|
|
73
|
+
### Add After Validation (v1.x)
|
|
74
|
+
|
|
75
|
+
Features to add once core is working.
|
|
76
|
+
|
|
77
|
+
- [ ] [Feature] — [trigger for adding]
|
|
78
|
+
- [ ] [Feature] — [trigger for adding]
|
|
79
|
+
|
|
80
|
+
### Future Consideration (v2+)
|
|
81
|
+
|
|
82
|
+
Features to defer until product-market fit is established.
|
|
83
|
+
|
|
84
|
+
- [ ] [Feature] — [why defer]
|
|
85
|
+
- [ ] [Feature] — [why defer]
|
|
86
|
+
|
|
87
|
+
## Feature Prioritization Matrix
|
|
88
|
+
|
|
89
|
+
| Feature | User Value | Implementation Cost | Priority |
|
|
90
|
+
|---------|------------|---------------------|----------|
|
|
91
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
92
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
93
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
94
|
+
|
|
95
|
+
**Priority key:**
|
|
96
|
+
- P1: Must have for launch
|
|
97
|
+
- P2: Should have, add when possible
|
|
98
|
+
- P3: Nice to have, future consideration
|
|
99
|
+
|
|
100
|
+
## Competitor Feature Analysis
|
|
101
|
+
|
|
102
|
+
| Feature | Competitor A | Competitor B | Our Approach |
|
|
103
|
+
|---------|--------------|--------------|--------------|
|
|
104
|
+
| [feature] | [how they do it] | [how they do it] | [our plan] |
|
|
105
|
+
| [feature] | [how they do it] | [how they do it] | [our plan] |
|
|
106
|
+
|
|
107
|
+
## Sources
|
|
108
|
+
|
|
109
|
+
- [Competitor products analyzed]
|
|
110
|
+
- [User research or feedback sources]
|
|
111
|
+
- [Industry standards referenced]
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
*Feature research for: [domain]*
|
|
115
|
+
*Researched: [date]*
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
</template>
|
|
119
|
+
|
|
120
|
+
<guidelines>
|
|
121
|
+
|
|
122
|
+
**Table Stakes:**
|
|
123
|
+
- These are non-negotiable for launch
|
|
124
|
+
- Users don't give credit for having them, but penalize for missing them
|
|
125
|
+
- Example: A community platform without user profiles is broken
|
|
126
|
+
|
|
127
|
+
**Differentiators:**
|
|
128
|
+
- These are where you compete
|
|
129
|
+
- Should align with the Core Value from PROJECT.md
|
|
130
|
+
- Don't try to differentiate on everything
|
|
131
|
+
|
|
132
|
+
**Anti-Features:**
|
|
133
|
+
- Prevent scope creep by documenting what seems good but isn't
|
|
134
|
+
- Include the alternative approach
|
|
135
|
+
- Example: "Real-time everything" often creates complexity without value
|
|
136
|
+
|
|
137
|
+
**Feature Dependencies:**
|
|
138
|
+
- Critical for roadmap phase ordering
|
|
139
|
+
- If A requires B, B must be in an earlier phase
|
|
140
|
+
- Conflicts inform what NOT to combine in same phase
|
|
141
|
+
|
|
142
|
+
**MVP Definition:**
|
|
143
|
+
- Be ruthless about what's truly minimum
|
|
144
|
+
- "Nice to have" is not MVP
|
|
145
|
+
- Launch with less, validate, then expand
|
|
146
|
+
|
|
147
|
+
</guidelines>
|