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 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 for nurturing ideas or archiving rejected ones
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
- 11 specialized agents included:
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. **Plan Work**: Use `make a plan for...` for new features
89
- 3. **Implement**: Use `let's implement...` to execute with tracking
90
- 4. **Quality Check**: Run `count the herd` for full audit + dry run
91
- 5. **Ship**: Run `close the farm` or `/push` to push changes
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/ # 11 specialized subagents
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
- │ │ └── idea-gardener.md
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
- └── push.md
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/` - 11 specialized subagents
156
- - `commands/` - 1 user-invocable skill (/push)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "farmwork",
3
- "version": "1.1.0",
3
+ "version": "1.4.1",
4
4
  "type": "module",
5
5
  "description": "Farmwork - A workflow framework for Claude Code by Wynter Jones",
6
6
  "main": "src/index.js",
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[3].items.push(
189
+ checks[5].items.push(
169
190
  checkExists(path.join(cwd, "justfile"), "justfile exists"),
170
191
  );
171
- checks[3].items.push(checkCommand("just", "just command available"));
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[4].items.push(
196
+ checks[6].items.push(
176
197
  checkExists(path.join(cwd, ".beads"), ".beads/ directory exists"),
177
198
  );
178
- checks[4].items.push(checkCommand("bd", "bd (beads) command available"));
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[5].items.push(checkGitignore(cwd));
203
+ checks[7].items.push(checkGitignore(cwd));
183
204
 
184
205
  let totalPassed = 0;
185
206
  let totalFailed = 0;