farmwork 1.0.2 → 1.4.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/README.md +50 -10
- package/package.json +1 -1
- package/src/doctor.js +26 -5
- package/src/init.js +1221 -17
- package/src/status.js +8 -0
package/README.md
CHANGED
|
@@ -33,6 +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 with natural aging (ideas older than 60 days auto-compost)
|
|
36
37
|
|
|
37
38
|
### Phrase Commands
|
|
38
39
|
|
|
@@ -40,7 +41,7 @@ npx farmwork init
|
|
|
40
41
|
| Phrase | Action |
|
|
41
42
|
|--------|--------|
|
|
42
43
|
| `open the farm` | Audit systems, update FARMHOUSE.md metrics |
|
|
43
|
-
| `count the herd` | Full inspection
|
|
44
|
+
| `count the herd` | Full inspection and audit |
|
|
44
45
|
| `go to market` | i18n translation check + accessibility audit |
|
|
45
46
|
| `close the farm` | Full push workflow (lint, test, build, commit, push) |
|
|
46
47
|
|
|
@@ -50,6 +51,31 @@ npx farmwork init
|
|
|
50
51
|
| `make a plan for...` | Create implementation plan in `_PLANS/` |
|
|
51
52
|
| `let's implement...` | Execute plan with issue tracking |
|
|
52
53
|
|
|
54
|
+
**Idea Phrases** (Pre-Plan Stage):
|
|
55
|
+
| Phrase | Action |
|
|
56
|
+
|--------|--------|
|
|
57
|
+
| `I have an idea for...` | Add new idea to `_AUDIT/GARDEN.md` with planted date |
|
|
58
|
+
| `let's plan this idea...` | Graduate idea from GARDEN → create plan |
|
|
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
|
+
|
|
53
79
|
### Slash Commands
|
|
54
80
|
|
|
55
81
|
| Command | Description |
|
|
@@ -58,7 +84,7 @@ npx farmwork init
|
|
|
58
84
|
|
|
59
85
|
### Agents
|
|
60
86
|
|
|
61
|
-
|
|
87
|
+
12 specialized agents included:
|
|
62
88
|
|
|
63
89
|
| Agent | Purpose |
|
|
64
90
|
|-------|---------|
|
|
@@ -72,14 +98,18 @@ npx farmwork init
|
|
|
72
98
|
| `code-cleaner` | Remove comments and console.logs |
|
|
73
99
|
| `i18n-locale-translator` | Translate UI text to locales |
|
|
74
100
|
| `storybook-maintainer` | Create/update Storybook stories |
|
|
101
|
+
| `idea-gardener` | Manage Idea Garden and Compost |
|
|
102
|
+
| `researcher` | Systematic research before planning |
|
|
75
103
|
|
|
76
104
|
### Recommended Workflow
|
|
77
105
|
|
|
78
106
|
1. **Start Session**: Run `open the farm` to audit current state
|
|
79
|
-
2. **
|
|
80
|
-
3. **
|
|
81
|
-
4. **
|
|
82
|
-
5. **
|
|
107
|
+
2. **Capture Ideas**: Use `I have an idea for...` to plant ideas in GARDEN
|
|
108
|
+
3. **Research**: Use `let's research...` to gather information before planning
|
|
109
|
+
4. **Plan Work**: Use `make a plan for...` for new features
|
|
110
|
+
5. **Implement**: Use `let's implement...` to execute with tracking
|
|
111
|
+
6. **Quality Check**: Run `count the herd` for full audit + dry run
|
|
112
|
+
7. **Ship**: Run `close the farm` or `/push` to push changes
|
|
83
113
|
|
|
84
114
|
You can `go to market` when you have a production-ready app with international users.
|
|
85
115
|
|
|
@@ -89,7 +119,7 @@ You can `go to market` when you have a production-ready app with international u
|
|
|
89
119
|
your-project/
|
|
90
120
|
├── CLAUDE.md # Main instructions & phrase commands
|
|
91
121
|
├── .claude/ # Claude Code configuration
|
|
92
|
-
│ ├── agents/ #
|
|
122
|
+
│ ├── agents/ # 12 specialized subagents
|
|
93
123
|
│ │ ├── the-farmer.md
|
|
94
124
|
│ │ ├── code-reviewer.md
|
|
95
125
|
│ │ ├── security-auditor.md
|
|
@@ -99,7 +129,9 @@ your-project/
|
|
|
99
129
|
│ │ ├── unused-code-cleaner.md
|
|
100
130
|
│ │ ├── code-cleaner.md
|
|
101
131
|
│ │ ├── i18n-locale-translator.md
|
|
102
|
-
│ │
|
|
132
|
+
│ │ ├── storybook-maintainer.md
|
|
133
|
+
│ │ ├── idea-gardener.md
|
|
134
|
+
│ │ └── researcher.md
|
|
103
135
|
│ └── commands/ # User-invocable skills
|
|
104
136
|
│ └── push.md
|
|
105
137
|
├── _AUDIT/ # Living audit documents
|
|
@@ -108,9 +140,13 @@ your-project/
|
|
|
108
140
|
│ ├── PERFORMANCE.md # Performance metrics
|
|
109
141
|
│ ├── ACCESSIBILITY.md # WCAG 2.1 compliance
|
|
110
142
|
│ ├── CODE_QUALITY.md # Code quality tracking
|
|
111
|
-
│
|
|
143
|
+
│ ├── TESTS.md # Test coverage
|
|
144
|
+
│ ├── GARDEN.md # Idea nursery (pre-plan stage)
|
|
145
|
+
│ └── COMPOST.md # Rejected ideas archive
|
|
112
146
|
├── _PLANS/ # Implementation plans
|
|
113
147
|
│ └── FEATURE_NAME.md
|
|
148
|
+
├── _RESEARCH/ # Research documents (living docs)
|
|
149
|
+
│ └── TOPIC_NAME.md
|
|
114
150
|
├── .beads/ # Issue tracking
|
|
115
151
|
└── justfile # Navigation commands
|
|
116
152
|
```
|
|
@@ -140,7 +176,7 @@ If you enable Storybook (for React/Vue projects), the wizard will also ask for:
|
|
|
140
176
|
**Creates:**
|
|
141
177
|
- `CLAUDE.md` - Main instructions and phrase commands
|
|
142
178
|
- `.claude/` - Claude Code configuration directory
|
|
143
|
-
- `agents/` -
|
|
179
|
+
- `agents/` - 12 specialized subagents
|
|
144
180
|
- `commands/` - 1 user-invocable skill (/push)
|
|
145
181
|
- `_AUDIT/` - Living audit documents
|
|
146
182
|
- `FARMHOUSE.md` - Framework command center
|
|
@@ -149,7 +185,10 @@ If you enable Storybook (for React/Vue projects), the wizard will also ask for:
|
|
|
149
185
|
- `ACCESSIBILITY.md` - WCAG 2.1 compliance
|
|
150
186
|
- `CODE_QUALITY.md` - Code quality tracking
|
|
151
187
|
- `TESTS.md` - Test coverage tracking
|
|
188
|
+
- `GARDEN.md` - Idea nursery (pre-plan stage)
|
|
189
|
+
- `COMPOST.md` - Rejected ideas archive
|
|
152
190
|
- `_PLANS/` - Implementation plans directory
|
|
191
|
+
- `_RESEARCH/` - Research documents directory
|
|
153
192
|
- `justfile` - Navigation and task commands
|
|
154
193
|
|
|
155
194
|
### `farmwork status`
|
|
@@ -185,6 +224,7 @@ farmwork doctor
|
|
|
185
224
|
- Core files (CLAUDE.md, .claude/, settings)
|
|
186
225
|
- Agents and commands configuration
|
|
187
226
|
- Audit system (_AUDIT/, FARMHOUSE.md, _PLANS/)
|
|
227
|
+
- Research system (_RESEARCH/)
|
|
188
228
|
- Navigation (justfile, just command)
|
|
189
229
|
- Issue tracking (beads)
|
|
190
230
|
- 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;
|