farmwork 1.1.0 → 1.4.1
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/README.md +66 -17
- package/package.json +1 -1
- package/src/doctor.js +26 -5
- package/src/init.js +1070 -9
- package/src/status.js +8 -0
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<img src="/init.png" alt="Farmwork - Developer Methodology" width="500" />
|
|
1
|
+
<img src="/images/init.png" alt="Farmwork - Developer Methodology" width="500" />
|
|
2
2
|
|
|
3
3
|
> A workflow framework for Claude Code by Wynter Jones
|
|
4
4
|
|
|
@@ -33,7 +33,7 @@ npx farmwork init
|
|
|
33
33
|
4. **Autonomously Issue Tracking** - Using beads (`bd`) for full visibility
|
|
34
34
|
5. **Living Audits** - Documents that track ongoing concerns
|
|
35
35
|
6. **Plan & Implement** - You describe the outcome, the rest is handled, tracked and audited
|
|
36
|
-
7. **Idea Garden & Compost** - Pre-plan creative stage
|
|
36
|
+
7. **Idea Garden & Compost** - Pre-plan creative stage with natural aging (ideas older than 60 days auto-compost)
|
|
37
37
|
|
|
38
38
|
### Phrase Commands
|
|
39
39
|
|
|
@@ -54,19 +54,43 @@ npx farmwork init
|
|
|
54
54
|
**Idea Phrases** (Pre-Plan Stage):
|
|
55
55
|
| Phrase | Action |
|
|
56
56
|
|--------|--------|
|
|
57
|
-
| `I have an idea for...` | Add new idea to `_AUDIT/GARDEN.md` |
|
|
57
|
+
| `I have an idea for...` | Add new idea to `_AUDIT/GARDEN.md` with planted date |
|
|
58
58
|
| `let's plan this idea...` | Graduate idea from GARDEN → create plan |
|
|
59
59
|
| `compost this...` | Move rejected idea to `_AUDIT/COMPOST.md` |
|
|
60
|
+
| `water the garden` | Generate 10 new ideas based on GARDEN and COMPOST |
|
|
61
|
+
|
|
62
|
+
**Idea Lifecycle:**
|
|
63
|
+
- **Fresh** (0-44 days) - New ideas ready to develop
|
|
64
|
+
- **Wilting** (45-60 days) - Ideas aging, marked ⚠️ during audits
|
|
65
|
+
- **Composted** (60+ days) - Auto-moved to COMPOST during "open the farm"
|
|
66
|
+
|
|
67
|
+
**Research Phrases** (Pre-Plan Stage):
|
|
68
|
+
| Phrase | Action |
|
|
69
|
+
|--------|--------|
|
|
70
|
+
| `let's research...` | Create or update research document in `_RESEARCH/` |
|
|
71
|
+
| `update research on...` | Refresh existing research with new findings |
|
|
72
|
+
| `show research on...` | Display research summary and staleness status |
|
|
73
|
+
|
|
74
|
+
**Research Lifecycle:**
|
|
75
|
+
- **Fresh** (0-14 days) - Research is current and reliable
|
|
76
|
+
- **Aging** (15-30 days) - Consider refreshing for major decisions
|
|
77
|
+
- **Stale** (30+ days) - Recommend updating before using for plans
|
|
78
|
+
|
|
79
|
+
**Office Phrases** (Product Strategy & UX):
|
|
80
|
+
| Phrase | Action |
|
|
81
|
+
|--------|--------|
|
|
82
|
+
| `go to production` | UX production check: update `_OFFICE/` docs with audit trail |
|
|
60
83
|
|
|
61
84
|
### Slash Commands
|
|
62
85
|
|
|
63
86
|
| Command | Description |
|
|
64
87
|
|---------|-------------|
|
|
65
88
|
| `/push` | Clean, stage, lint, test, build, commit, push, update metrics (11 steps) |
|
|
89
|
+
| `/office` | Interactive strategy and UX command - updates CORE_LOOP, ONBOARDING, USER_GUIDE |
|
|
66
90
|
|
|
67
91
|
### Agents
|
|
68
92
|
|
|
69
|
-
|
|
93
|
+
15 specialized agents included:
|
|
70
94
|
|
|
71
95
|
| Agent | Purpose |
|
|
72
96
|
|-------|---------|
|
|
@@ -81,14 +105,20 @@ npx farmwork init
|
|
|
81
105
|
| `i18n-locale-translator` | Translate UI text to locales |
|
|
82
106
|
| `storybook-maintainer` | Create/update Storybook stories |
|
|
83
107
|
| `idea-gardener` | Manage Idea Garden and Compost |
|
|
108
|
+
| `researcher` | Systematic research before planning |
|
|
109
|
+
| `strategy-agent` | Core loop strategy (what/stopping/why) |
|
|
110
|
+
| `onboarding-agent` | Tours, tooltips, modals, empty states |
|
|
111
|
+
| `user-guide-agent` | Feature documentation for help docs |
|
|
84
112
|
|
|
85
113
|
### Recommended Workflow
|
|
86
114
|
|
|
87
115
|
1. **Start Session**: Run `open the farm` to audit current state
|
|
88
|
-
2. **
|
|
89
|
-
3. **
|
|
90
|
-
4. **
|
|
91
|
-
5. **
|
|
116
|
+
2. **Capture Ideas**: Use `I have an idea for...` to plant ideas in GARDEN
|
|
117
|
+
3. **Research**: Use `let's research...` to gather information before planning
|
|
118
|
+
4. **Plan Work**: Use `make a plan for...` for new features
|
|
119
|
+
5. **Implement**: Use `let's implement...` to execute with tracking
|
|
120
|
+
6. **Quality Check**: Run `count the herd` for full audit + dry run
|
|
121
|
+
7. **Ship**: Run `close the farm` or `/push` to push changes
|
|
92
122
|
|
|
93
123
|
You can `go to market` when you have a production-ready app with international users.
|
|
94
124
|
|
|
@@ -98,7 +128,7 @@ You can `go to market` when you have a production-ready app with international u
|
|
|
98
128
|
your-project/
|
|
99
129
|
├── CLAUDE.md # Main instructions & phrase commands
|
|
100
130
|
├── .claude/ # Claude Code configuration
|
|
101
|
-
│ ├── agents/ #
|
|
131
|
+
│ ├── agents/ # 15 specialized subagents
|
|
102
132
|
│ │ ├── the-farmer.md
|
|
103
133
|
│ │ ├── code-reviewer.md
|
|
104
134
|
│ │ ├── security-auditor.md
|
|
@@ -109,9 +139,14 @@ your-project/
|
|
|
109
139
|
│ │ ├── code-cleaner.md
|
|
110
140
|
│ │ ├── i18n-locale-translator.md
|
|
111
141
|
│ │ ├── storybook-maintainer.md
|
|
112
|
-
│ │
|
|
142
|
+
│ │ ├── idea-gardener.md
|
|
143
|
+
│ │ ├── researcher.md
|
|
144
|
+
│ │ ├── strategy-agent.md # Core loop strategy
|
|
145
|
+
│ │ ├── onboarding-agent.md # UX onboarding
|
|
146
|
+
│ │ └── user-guide-agent.md # Feature documentation
|
|
113
147
|
│ └── commands/ # User-invocable skills
|
|
114
|
-
│
|
|
148
|
+
│ ├── push.md
|
|
149
|
+
│ └── office.md # Interactive strategy command
|
|
115
150
|
├── _AUDIT/ # Living audit documents
|
|
116
151
|
│ ├── FARMHOUSE.md # Framework command center
|
|
117
152
|
│ ├── SECURITY.md # Security posture
|
|
@@ -121,13 +156,19 @@ your-project/
|
|
|
121
156
|
│ ├── TESTS.md # Test coverage
|
|
122
157
|
│ ├── GARDEN.md # Idea nursery (pre-plan stage)
|
|
123
158
|
│ └── COMPOST.md # Rejected ideas archive
|
|
159
|
+
├── _OFFICE/ # Product strategy & UX docs
|
|
160
|
+
│ ├── CORE_LOOP.md # What/Stopping/Why strategy
|
|
161
|
+
│ ├── ONBOARDING.md # Tours, tooltips, modals
|
|
162
|
+
│ └── USER_GUIDE.md # Feature documentation
|
|
124
163
|
├── _PLANS/ # Implementation plans
|
|
125
164
|
│ └── FEATURE_NAME.md
|
|
165
|
+
├── _RESEARCH/ # Research documents (living docs)
|
|
166
|
+
│ └── TOPIC_NAME.md
|
|
126
167
|
├── .beads/ # Issue tracking
|
|
127
168
|
└── justfile # Navigation commands
|
|
128
169
|
```
|
|
129
170
|
|
|
130
|
-
<img src="/logo.png" alt="Farmwork - Developer Methodology" width="300" />
|
|
171
|
+
<img src="/images/logo.png" alt="Farmwork - Developer Methodology" width="300" />
|
|
131
172
|
|
|
132
173
|
## Commands
|
|
133
174
|
|
|
@@ -152,8 +193,8 @@ If you enable Storybook (for React/Vue projects), the wizard will also ask for:
|
|
|
152
193
|
**Creates:**
|
|
153
194
|
- `CLAUDE.md` - Main instructions and phrase commands
|
|
154
195
|
- `.claude/` - Claude Code configuration directory
|
|
155
|
-
- `agents/` -
|
|
156
|
-
- `commands/` -
|
|
196
|
+
- `agents/` - 15 specialized subagents
|
|
197
|
+
- `commands/` - 2 user-invocable skills (/push, /office)
|
|
157
198
|
- `_AUDIT/` - Living audit documents
|
|
158
199
|
- `FARMHOUSE.md` - Framework command center
|
|
159
200
|
- `SECURITY.md` - Security posture tracking
|
|
@@ -163,12 +204,17 @@ If you enable Storybook (for React/Vue projects), the wizard will also ask for:
|
|
|
163
204
|
- `TESTS.md` - Test coverage tracking
|
|
164
205
|
- `GARDEN.md` - Idea nursery (pre-plan stage)
|
|
165
206
|
- `COMPOST.md` - Rejected ideas archive
|
|
207
|
+
- `_OFFICE/` - Product strategy & UX documents
|
|
208
|
+
- `CORE_LOOP.md` - What/Stopping/Why strategy
|
|
209
|
+
- `ONBOARDING.md` - Tours, tooltips, modals
|
|
210
|
+
- `USER_GUIDE.md` - Feature documentation
|
|
166
211
|
- `_PLANS/` - Implementation plans directory
|
|
212
|
+
- `_RESEARCH/` - Research documents directory
|
|
167
213
|
- `justfile` - Navigation and task commands
|
|
168
214
|
|
|
169
215
|
### `farmwork status`
|
|
170
216
|
|
|
171
|
-
<img src="/status.png" alt="Farmwork Status" width="500" />
|
|
217
|
+
<img src="/images/status.png" alt="Farmwork Status" width="500" />
|
|
172
218
|
|
|
173
219
|
Display Farmwork status and metrics.
|
|
174
220
|
|
|
@@ -178,16 +224,17 @@ farmwork status
|
|
|
178
224
|
|
|
179
225
|
**Shows:**
|
|
180
226
|
- Component counts (agents, commands, audits, plans)
|
|
227
|
+
- Office documents status
|
|
181
228
|
- Issue tracking status (if beads is configured)
|
|
182
229
|
- FARMHOUSE score and open items
|
|
183
230
|
- Configuration file status
|
|
184
231
|
- Project metrics (tests, stories)
|
|
185
232
|
|
|
186
|
-
<img src="/status2.png" alt="Farmwork Status Details" width="500" />
|
|
233
|
+
<img src="/images/status2.png" alt="Farmwork Status Details" width="500" />
|
|
187
234
|
|
|
188
235
|
### `farmwork doctor`
|
|
189
236
|
|
|
190
|
-
<img src="/doctor.png" alt="Farmwork Doctor" width="500" />
|
|
237
|
+
<img src="/images/doctor.png" alt="Farmwork Doctor" width="500" />
|
|
191
238
|
|
|
192
239
|
Check your Farmwork setup and diagnose issues.
|
|
193
240
|
|
|
@@ -199,6 +246,8 @@ farmwork doctor
|
|
|
199
246
|
- Core files (CLAUDE.md, .claude/, settings)
|
|
200
247
|
- Agents and commands configuration
|
|
201
248
|
- Audit system (_AUDIT/, FARMHOUSE.md, _PLANS/)
|
|
249
|
+
- Research system (_RESEARCH/)
|
|
250
|
+
- Office system (_OFFICE/, CORE_LOOP.md, ONBOARDING.md, USER_GUIDE.md)
|
|
202
251
|
- Navigation (justfile, just command)
|
|
203
252
|
- Issue tracking (beads)
|
|
204
253
|
- Security (.gitignore settings)
|
package/package.json
CHANGED
package/src/doctor.js
CHANGED
|
@@ -163,23 +163,44 @@ export async function doctor() {
|
|
|
163
163
|
checkExists(path.join(cwd, "_PLANS"), "_PLANS/ directory exists"),
|
|
164
164
|
);
|
|
165
165
|
|
|
166
|
+
// Research System
|
|
167
|
+
checks.push({ category: "Research System", emoji: "🔬", items: [] });
|
|
168
|
+
checks[3].items.push(
|
|
169
|
+
checkExists(path.join(cwd, "_RESEARCH"), "_RESEARCH/ directory exists"),
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
// Office System
|
|
173
|
+
checks.push({ category: "Office System", emoji: "🏢", items: [] });
|
|
174
|
+
checks[4].items.push(
|
|
175
|
+
checkExists(path.join(cwd, "_OFFICE"), "_OFFICE/ directory exists"),
|
|
176
|
+
);
|
|
177
|
+
checks[4].items.push(
|
|
178
|
+
checkExists(path.join(cwd, "_OFFICE", "CORE_LOOP.md"), "CORE_LOOP.md exists"),
|
|
179
|
+
);
|
|
180
|
+
checks[4].items.push(
|
|
181
|
+
checkExists(path.join(cwd, "_OFFICE", "ONBOARDING.md"), "ONBOARDING.md exists"),
|
|
182
|
+
);
|
|
183
|
+
checks[4].items.push(
|
|
184
|
+
checkExists(path.join(cwd, "_OFFICE", "USER_GUIDE.md"), "USER_GUIDE.md exists"),
|
|
185
|
+
);
|
|
186
|
+
|
|
166
187
|
// Navigation
|
|
167
188
|
checks.push({ category: "Navigation", emoji: "🐓", items: [] });
|
|
168
|
-
checks[
|
|
189
|
+
checks[5].items.push(
|
|
169
190
|
checkExists(path.join(cwd, "justfile"), "justfile exists"),
|
|
170
191
|
);
|
|
171
|
-
checks[
|
|
192
|
+
checks[5].items.push(checkCommand("just", "just command available"));
|
|
172
193
|
|
|
173
194
|
// Issue Tracking
|
|
174
195
|
checks.push({ category: "Issue Tracking", emoji: "🐷", items: [] });
|
|
175
|
-
checks[
|
|
196
|
+
checks[6].items.push(
|
|
176
197
|
checkExists(path.join(cwd, ".beads"), ".beads/ directory exists"),
|
|
177
198
|
);
|
|
178
|
-
checks[
|
|
199
|
+
checks[6].items.push(checkCommand("bd", "bd (beads) command available"));
|
|
179
200
|
|
|
180
201
|
// Security
|
|
181
202
|
checks.push({ category: "Security", emoji: "🐕", items: [] });
|
|
182
|
-
checks[
|
|
203
|
+
checks[7].items.push(checkGitignore(cwd));
|
|
183
204
|
|
|
184
205
|
let totalPassed = 0;
|
|
185
206
|
let totalFailed = 0;
|