farmwork 1.0.2 → 1.1.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.
Files changed (3) hide show
  1. package/README.md +20 -6
  2. package/package.json +1 -1
  3. package/src/init.js +156 -13
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 for nurturing ideas or archiving rejected ones
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 + dry run (code review, performance, security, quality, accessibility) |
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,13 @@ 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` |
58
+ | `let's plan this idea...` | Graduate idea from GARDEN → create plan |
59
+ | `compost this...` | Move rejected idea to `_AUDIT/COMPOST.md` |
60
+
53
61
  ### Slash Commands
54
62
 
55
63
  | Command | Description |
@@ -58,7 +66,7 @@ npx farmwork init
58
66
 
59
67
  ### Agents
60
68
 
61
- 10 specialized agents included:
69
+ 11 specialized agents included:
62
70
 
63
71
  | Agent | Purpose |
64
72
  |-------|---------|
@@ -72,6 +80,7 @@ npx farmwork init
72
80
  | `code-cleaner` | Remove comments and console.logs |
73
81
  | `i18n-locale-translator` | Translate UI text to locales |
74
82
  | `storybook-maintainer` | Create/update Storybook stories |
83
+ | `idea-gardener` | Manage Idea Garden and Compost |
75
84
 
76
85
  ### Recommended Workflow
77
86
 
@@ -89,7 +98,7 @@ You can `go to market` when you have a production-ready app with international u
89
98
  your-project/
90
99
  ├── CLAUDE.md # Main instructions & phrase commands
91
100
  ├── .claude/ # Claude Code configuration
92
- │ ├── agents/ # 10 specialized subagents
101
+ │ ├── agents/ # 11 specialized subagents
93
102
  │ │ ├── the-farmer.md
94
103
  │ │ ├── code-reviewer.md
95
104
  │ │ ├── security-auditor.md
@@ -99,7 +108,8 @@ your-project/
99
108
  │ │ ├── unused-code-cleaner.md
100
109
  │ │ ├── code-cleaner.md
101
110
  │ │ ├── i18n-locale-translator.md
102
- │ │ └── storybook-maintainer.md
111
+ │ │ ├── storybook-maintainer.md
112
+ │ │ └── idea-gardener.md
103
113
  │ └── commands/ # User-invocable skills
104
114
  │ └── push.md
105
115
  ├── _AUDIT/ # Living audit documents
@@ -108,7 +118,9 @@ your-project/
108
118
  │ ├── PERFORMANCE.md # Performance metrics
109
119
  │ ├── ACCESSIBILITY.md # WCAG 2.1 compliance
110
120
  │ ├── CODE_QUALITY.md # Code quality tracking
111
- └── TESTS.md # Test coverage
121
+ ├── TESTS.md # Test coverage
122
+ │ ├── GARDEN.md # Idea nursery (pre-plan stage)
123
+ │ └── COMPOST.md # Rejected ideas archive
112
124
  ├── _PLANS/ # Implementation plans
113
125
  │ └── FEATURE_NAME.md
114
126
  ├── .beads/ # Issue tracking
@@ -140,7 +152,7 @@ If you enable Storybook (for React/Vue projects), the wizard will also ask for:
140
152
  **Creates:**
141
153
  - `CLAUDE.md` - Main instructions and phrase commands
142
154
  - `.claude/` - Claude Code configuration directory
143
- - `agents/` - 10 specialized subagents
155
+ - `agents/` - 11 specialized subagents
144
156
  - `commands/` - 1 user-invocable skill (/push)
145
157
  - `_AUDIT/` - Living audit documents
146
158
  - `FARMHOUSE.md` - Framework command center
@@ -149,6 +161,8 @@ If you enable Storybook (for React/Vue projects), the wizard will also ask for:
149
161
  - `ACCESSIBILITY.md` - WCAG 2.1 compliance
150
162
  - `CODE_QUALITY.md` - Code quality tracking
151
163
  - `TESTS.md` - Test coverage tracking
164
+ - `GARDEN.md` - Idea nursery (pre-plan stage)
165
+ - `COMPOST.md` - Rejected ideas archive
152
166
  - `_PLANS/` - Implementation plans directory
153
167
  - `justfile` - Navigation and task commands
154
168
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "farmwork",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
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/init.js CHANGED
@@ -556,6 +556,18 @@ Run these in order for a complete development cycle:
556
556
 
557
557
  ---
558
558
 
559
+ ### Idea Phrases (Pre-Plan Stage)
560
+
561
+ | Phrase | Action |
562
+ |--------|--------|
563
+ | **I have an idea for...** | Add new idea to \`_AUDIT/GARDEN.md\` (title, description, bullets) |
564
+ | **let's plan this idea...** | Graduate idea from GARDEN → create plan in \`_PLANS/\` |
565
+ | **I dont want to do this idea...** | Reject idea → move from GARDEN to COMPOST |
566
+ | **remove this feature...** | Archive feature idea to COMPOST |
567
+ | **compost this...** | Move idea from GARDEN to COMPOST |
568
+
569
+ ---
570
+
559
571
  ### Farmwork Phrase Details
560
572
 
561
573
  **open the farm**
@@ -585,6 +597,30 @@ Runs all inspection agents in parallel, then dry run quality gates. No push.
585
597
 
586
598
  ---
587
599
 
600
+ ### Idea Phrase Details
601
+
602
+ **I have an idea for...**
603
+ 1. Launch \`idea-gardener\` agent
604
+ 2. Parse idea title from user input
605
+ 3. Ask for short description and bullet points
606
+ 4. Add to \`_AUDIT/GARDEN.md\` under ## Ideas section
607
+
608
+ **let's plan this idea...**
609
+ 1. Launch \`idea-gardener\` agent
610
+ 2. Find the idea in GARDEN.md
611
+ 3. Create plan in \`_PLANS/\` using plan mode
612
+ 4. Move to "Graduated to Plans" table
613
+ 5. Remove from ## Ideas section
614
+
615
+ **compost this...** / **I dont want to do this idea...**
616
+ 1. Launch \`idea-gardener\` agent
617
+ 2. Find idea in GARDEN.md (or accept new rejection)
618
+ 3. Ask for rejection reason
619
+ 4. Add to \`_AUDIT/COMPOST.md\` with reason
620
+ 5. Remove from GARDEN.md if it was there
621
+
622
+ ---
623
+
588
624
  ## Plan Mode Protocol
589
625
 
590
626
  **CRITICAL**: When Claude enters Plan Mode, ALL plans MUST:
@@ -651,7 +687,7 @@ async function createFarmhouseMd(cwd, answers) {
651
687
  | Metric | Count |
652
688
  |--------|-------|
653
689
  | Commands | 1 |
654
- | Agents | 10 |
690
+ | Agents | 11 |
655
691
  | Justfile Recipes | 10 |
656
692
  | Unit Tests | 0 |
657
693
  | E2E Tests | 0 |
@@ -687,6 +723,7 @@ All Claude Code commands and agents are documented, phrase triggers are tested a
687
723
  | \`code-cleaner\` | Remove comments and console.logs |
688
724
  | \`i18n-locale-translator\` | Translate UI text to locales |
689
725
  | \`storybook-maintainer\` | Create/update Storybook stories |
726
+ | \`idea-gardener\` | Manage Idea Garden and Compost |
690
727
 
691
728
  ---
692
729
 
@@ -708,6 +745,14 @@ All Claude Code commands and agents are documented, phrase triggers are tested a
708
745
  | \`make a plan for...\` | Create plan in _PLANS/ |
709
746
  | \`let's implement...\` | Load plan, create Epic |
710
747
 
748
+ ### Idea Phrases
749
+
750
+ | Phrase | Action |
751
+ |--------|--------|
752
+ | \`I have an idea for...\` | Add idea to GARDEN.md |
753
+ | \`let's plan this idea...\` | Graduate idea to _PLANS/ |
754
+ | \`compost this...\` | Move idea to COMPOST.md |
755
+
711
756
  ---
712
757
 
713
758
  ## Issue Tracking (\`.beads/\`)
@@ -810,6 +855,67 @@ _None currently_
810
855
 
811
856
  await fs.writeFile(path.join(cwd, "_AUDIT", audit.name), content);
812
857
  }
858
+
859
+ // Create GARDEN.md (Idea nursery - custom format)
860
+ const gardenContent = `# Idea Garden
861
+
862
+ > Nursery for new ideas and concepts. The pre-plan creative thinking stage.
863
+
864
+ **Last Updated:** ${today}
865
+ **Active Ideas:** 0
866
+
867
+ ---
868
+
869
+ ## How to Use
870
+
871
+ | Phrase | Action |
872
+ |--------|--------|
873
+ | \`I have an idea for...\` | Plant a new idea here |
874
+ | \`let's plan this idea...\` | Graduate idea to _PLANS/ |
875
+ | \`compost this...\` | Reject idea, move to COMPOST |
876
+
877
+ ---
878
+
879
+ ## Ideas
880
+
881
+ _No ideas planted yet. Start with "I have an idea for..."_
882
+
883
+ ---
884
+
885
+ ## Graduated to Plans
886
+
887
+ | Idea | Plan | Date |
888
+ |------|------|------|
889
+ `;
890
+
891
+ await fs.writeFile(path.join(cwd, "_AUDIT", "GARDEN.md"), gardenContent);
892
+
893
+ // Create COMPOST.md (Rejected ideas archive - custom format)
894
+ const compostContent = `# Idea Compost
895
+
896
+ > Archive of rejected ideas. Reference to avoid re-proposing and remember why we didn't pursue something.
897
+
898
+ **Last Updated:** ${today}
899
+ **Composted Ideas:** 0
900
+
901
+ ---
902
+
903
+ ## How to Use
904
+
905
+ | Phrase | Action |
906
+ |--------|--------|
907
+ | \`I dont want to do this idea...\` | Reject an idea |
908
+ | \`remove this feature...\` | Archive a feature idea |
909
+ | \`compost this...\` | Move idea from GARDEN here |
910
+
911
+ ---
912
+
913
+ ## Composted Ideas
914
+
915
+ _No composted ideas yet._
916
+ `;
917
+
918
+ await fs.writeFile(path.join(cwd, "_AUDIT", "COMPOST.md"), compostContent);
813
919
  }
814
920
 
815
921
  async function createJustfile(cwd, answers) {
@@ -901,7 +1007,7 @@ async function createAgents(cwd, answers) {
901
1007
  name: the-farmer
902
1008
  description: Audit and update FARMHOUSE.md with current project metrics
903
1009
  tools: Read, Grep, Glob, Edit, Bash
904
- model: haiku
1010
+ model: opus
905
1011
  ---
906
1012
 
907
1013
  # The Farmer Agent
@@ -935,7 +1041,7 @@ Maintains \`_AUDIT/FARMHOUSE.md\` - the living document tracking all systems and
935
1041
  name: code-reviewer
936
1042
  description: Review code for quality, security, and maintainability
937
1043
  tools: Read, Grep, Glob, Bash
938
- model: sonnet
1044
+ model: opus
939
1045
  ---
940
1046
 
941
1047
  # Code Reviewer Agent
@@ -952,7 +1058,7 @@ Reports findings with severity (CRITICAL, HIGH, MEDIUM, LOW) and remediation ste
952
1058
  name: security-auditor
953
1059
  description: OWASP security vulnerability scanning
954
1060
  tools: Read, Grep, Glob, Edit
955
- model: haiku
1061
+ model: opus
956
1062
  ---
957
1063
 
958
1064
  # Security Auditor Agent
@@ -971,7 +1077,7 @@ Updates \`_AUDIT/SECURITY.md\` with results.
971
1077
  name: performance-auditor
972
1078
  description: Find memory leaks, unnecessary re-renders, and anti-patterns
973
1079
  tools: Read, Grep, Glob, Edit
974
- model: haiku
1080
+ model: opus
975
1081
  ---
976
1082
 
977
1083
  # Performance Auditor Agent
@@ -990,7 +1096,7 @@ Updates \`_AUDIT/PERFORMANCE.md\` with results.
990
1096
  name: code-smell-auditor
991
1097
  description: Detect DRY violations, complexity issues, naming problems, and technical debt
992
1098
  tools: Read, Grep, Glob, Edit
993
- model: haiku
1099
+ model: opus
994
1100
  ---
995
1101
 
996
1102
  # Code Smell Auditor Agent
@@ -1009,7 +1115,7 @@ Updates \`_AUDIT/CODE_QUALITY.md\` with results.
1009
1115
  name: accessibility-auditor
1010
1116
  description: WCAG 2.1 accessibility auditing for React/Next.js applications
1011
1117
  tools: Read, Grep, Glob, Edit
1012
- model: haiku
1118
+ model: opus
1013
1119
  ---
1014
1120
 
1015
1121
  # Accessibility Auditor Agent
@@ -1029,7 +1135,7 @@ Updates \`_AUDIT/ACCESSIBILITY.md\` with results.
1029
1135
  name: unused-code-cleaner
1030
1136
  description: Detect and remove unused code (imports, functions, variables)
1031
1137
  tools: Read, Write, Edit, Bash, Grep, Glob
1032
- model: haiku
1138
+ model: opus
1033
1139
  ---
1034
1140
 
1035
1141
  # Unused Code Cleaner Agent
@@ -1048,7 +1154,7 @@ Use after refactoring, when removing features, or before production deployment.
1048
1154
  name: code-cleaner
1049
1155
  description: Fast removal of comments, console.logs, and debug code while preserving JSDoc
1050
1156
  tools: Read, Edit, Glob, Grep
1051
- model: haiku
1157
+ model: opus
1052
1158
  ---
1053
1159
 
1054
1160
  # Code Cleaner Agent
@@ -1068,7 +1174,7 @@ Fast cleanup of TypeScript/JavaScript files:
1068
1174
  name: i18n-locale-translator
1069
1175
  description: Translate UI text content into English (en) and Japanese (jp) using i18n locale system
1070
1176
  tools: Read, Write, Edit, Glob, Grep
1071
- model: sonnet
1177
+ model: opus
1072
1178
  ---
1073
1179
 
1074
1180
  # i18n Locale Translator Agent
@@ -1085,7 +1191,7 @@ Use when adding new features or internationalizing existing hardcoded text.
1085
1191
  name: storybook-maintainer
1086
1192
  description: Create and update Storybook stories for UI components
1087
1193
  tools: Read, Write, Edit, Glob, Grep
1088
- model: haiku
1194
+ model: opus
1089
1195
  ---
1090
1196
 
1091
1197
  # Storybook Maintainer Agent
@@ -1097,6 +1203,43 @@ Manages Storybook stories for UI components:
1097
1203
  - Add controls for interactive props
1098
1204
 
1099
1205
  Use when adding new components or when existing components change significantly.
1206
+ `,
1207
+ "idea-gardener.md": `---
1208
+ name: idea-gardener
1209
+ description: Manage the Idea Garden and Compost - add, graduate, or reject ideas
1210
+ tools: Read, Edit, Glob, Grep
1211
+ model: opus
1212
+ ---
1213
+
1214
+ # Idea Gardener Agent
1215
+
1216
+ Manages \`_AUDIT/GARDEN.md\` and \`_AUDIT/COMPOST.md\` for idea lifecycle tracking.
1217
+
1218
+ ## Commands
1219
+
1220
+ ### Plant an Idea (from "I have an idea for...")
1221
+ 1. Parse the idea title from user input
1222
+ 2. Ask user for short description and key bullet points
1223
+ 3. Add to GARDEN.md under ## Ideas section with format:
1224
+ ### [Idea Title]
1225
+ [Short description]
1226
+ - Bullet point 1
1227
+ - Bullet point 2
1228
+
1229
+ ### Graduate an Idea (from "let's plan this idea...")
1230
+ 1. Find idea in GARDEN.md
1231
+ 2. Create plan file in _PLANS/ using plan mode
1232
+ 3. Move idea to "Graduated to Plans" table with date and plan link
1233
+ 4. Remove from ## Ideas section
1234
+
1235
+ ### Compost an Idea (from "compost this..." / "I dont want...")
1236
+ 1. Find idea in GARDEN.md (or accept new rejection)
1237
+ 2. Ask for rejection reason
1238
+ 3. Add to COMPOST.md with reason and date
1239
+ 4. Remove from GARDEN.md if it was there
1240
+
1241
+ ## Output Format
1242
+ Confirm action taken and show updated file section.
1100
1243
  `,
1101
1244
  };
1102
1245
 
@@ -1280,7 +1423,7 @@ async function createSettings(cwd, answers) {
1280
1423
 
1281
1424
  async function createProduceConfig(cwd, answers) {
1282
1425
  const config = {
1283
- version: "1.0.0",
1426
+ version: "1.1.0",
1284
1427
  projectName: answers.projectName,
1285
1428
  commands: {
1286
1429
  test: answers.testCommand,
@@ -1291,7 +1434,7 @@ async function createProduceConfig(cwd, answers) {
1291
1434
  storybook: answers.includeStorybook || false,
1292
1435
  i18n: answers.includeI18n || false,
1293
1436
  },
1294
- audits: ["FARMHOUSE", "SECURITY", "PERFORMANCE", "ACCESSIBILITY", "CODE_QUALITY", "TESTS"],
1437
+ audits: ["FARMHOUSE", "SECURITY", "PERFORMANCE", "ACCESSIBILITY", "CODE_QUALITY", "TESTS", "GARDEN", "COMPOST"],
1295
1438
  };
1296
1439
 
1297
1440
  if (answers.includeStorybook) {