@itz4blitz/agentful 0.2.1 → 0.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/.claude/agents/orchestrator.md +121 -610
- package/.claude/agents/product-analyzer.md +3 -10
- package/.claude/commands/agentful-generate.md +206 -0
- package/.claude/commands/agentful-product.md +3 -3
- package/.claude/commands/agentful.md +1 -12
- package/.claude/product/EXAMPLES.md +2 -2
- package/.claude/product/README.md +9 -27
- package/.claude/skills/conversation/SKILL.md +152 -975
- package/.claude/skills/product-tracking/SKILL.md +10 -21
- package/README.md +6 -5
- package/bin/cli.js +108 -583
- package/bin/hooks/health-check.sh +16 -16
- package/lib/index.js +6 -36
- package/lib/init.js +411 -0
- package/package.json +1 -2
- package/template/CLAUDE.md +11 -11
- package/version.json +1 -1
- package/.claude/commands/agentful-agents.md +0 -668
- package/.claude/commands/agentful-skills.md +0 -635
- package/.claude/product/CHANGES.md +0 -276
- package/lib/agent-generator.js +0 -778
- package/lib/domain-detector.js +0 -468
- package/lib/domain-structure-generator.js +0 -770
- package/lib/project-analyzer.js +0 -701
- package/lib/tech-stack-detector.js +0 -1091
- package/lib/template-engine.js +0 -240
- package/template/PRODUCT.md +0 -584
- package/templates/agents/domain-agent.template.md +0 -208
- package/templates/agents/tech-agent.template.md +0 -124
|
@@ -16,10 +16,8 @@ This skill tracks the completion progress of product development with support fo
|
|
|
16
16
|
The system supports **both** flat and hierarchical product structures with automatic detection:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
Option 1: Flat Structure (
|
|
20
|
-
|
|
21
|
-
OR
|
|
22
|
-
├── .claude/product/
|
|
19
|
+
Option 1: Flat Structure (Simple)
|
|
20
|
+
└── .claude/product/
|
|
23
21
|
└── index.md # Single file with all features
|
|
24
22
|
|
|
25
23
|
Option 2: Hierarchical Structure (Organized)
|
|
@@ -53,11 +51,7 @@ if exists(".claude/product/domains/*/index.md"):
|
|
|
53
51
|
use_domains = true
|
|
54
52
|
else:
|
|
55
53
|
# Step 2: Fall back to flat structure
|
|
56
|
-
if exists("
|
|
57
|
-
structure_type = "flat"
|
|
58
|
-
product_root = "."
|
|
59
|
-
use_domains = false
|
|
60
|
-
elif exists(".claude/product/index.md"):
|
|
54
|
+
if exists(".claude/product/index.md"):
|
|
61
55
|
structure_type = "flat"
|
|
62
56
|
product_root = ".claude/product"
|
|
63
57
|
use_domains = false
|
|
@@ -67,8 +61,7 @@ else:
|
|
|
67
61
|
|
|
68
62
|
**Priority Order:**
|
|
69
63
|
1. Hierarchical (`.claude/product/domains/*/index.md`) - preferred for organized projects
|
|
70
|
-
2. Flat (
|
|
71
|
-
3. Flat (`.claude/product/index.md`) - new flat format in .claude directory
|
|
64
|
+
2. Flat (`.claude/product/index.md`) - simple flat format for projects without domains
|
|
72
65
|
|
|
73
66
|
### Parsing Product Structure
|
|
74
67
|
|
|
@@ -105,9 +98,7 @@ if domain_files.length > 0:
|
|
|
105
98
|
|
|
106
99
|
```bash
|
|
107
100
|
# 1. Detect structure
|
|
108
|
-
if exists("
|
|
109
|
-
product_file = "PRODUCT.md"
|
|
110
|
-
elif exists(".claude/product/index.md"):
|
|
101
|
+
if exists(".claude/product/index.md"):
|
|
111
102
|
product_file = ".claude/product/index.md"
|
|
112
103
|
else:
|
|
113
104
|
error("No product specification found")
|
|
@@ -549,7 +540,7 @@ Map to completion.json:
|
|
|
549
540
|
|
|
550
541
|
### Parsing Flat Product Structure
|
|
551
542
|
|
|
552
|
-
Parse
|
|
543
|
+
Parse `.claude/product/index.md` to extract feature list:
|
|
553
544
|
|
|
554
545
|
```markdown
|
|
555
546
|
## Features
|
|
@@ -591,12 +582,11 @@ Always detect structure type before any operation:
|
|
|
591
582
|
```bash
|
|
592
583
|
# Detect structure
|
|
593
584
|
domains_found = Glob(".claude/product/domains/*/index.md")
|
|
594
|
-
product_md_exists = exists("PRODUCT.md")
|
|
595
585
|
product_index_exists = exists(".claude/product/index.md")
|
|
596
586
|
|
|
597
587
|
if domains_found:
|
|
598
588
|
use_hierarchical_tracking()
|
|
599
|
-
else if
|
|
589
|
+
else if product_index_exists:
|
|
600
590
|
use_flat_tracking()
|
|
601
591
|
else:
|
|
602
592
|
error("No product specification found")
|
|
@@ -629,8 +619,8 @@ When subtask work completes:
|
|
|
629
619
|
|
|
630
620
|
When orchestrator asks for progress update:
|
|
631
621
|
|
|
632
|
-
1. Detect structure type (no domains,
|
|
633
|
-
2.
|
|
622
|
+
1. Detect structure type (no domains, `.claude/product/index.md` exists → flat)
|
|
623
|
+
2. Read `.claude/product/index.md` for product specification
|
|
634
624
|
3. Read completion.json
|
|
635
625
|
4. Calculate overall percentage
|
|
636
626
|
5. Identify next priority feature
|
|
@@ -650,5 +640,4 @@ When feature work completes:
|
|
|
650
640
|
| Structure Type | Detection | Product File | Completion Schema | Tracking Method |
|
|
651
641
|
|---------------|-----------|--------------|-------------------|-----------------|
|
|
652
642
|
| Hierarchical | `.claude/product/domains/*/index.md` exists | `.claude/product/index.md` | Nested `domains` object | Track at subtask → feature → domain levels |
|
|
653
|
-
| Flat
|
|
654
|
-
| Flat (new) | `.claude/product/index.md` exists | `.claude/product/index.md` | Flat `features` object | Track at feature level |
|
|
643
|
+
| Flat | `.claude/product/index.md` exists | `.claude/product/index.md` | Flat `features` object | Track at feature level |
|
package/README.md
CHANGED
|
@@ -38,10 +38,10 @@ Use `/agentful-product` for guided product planning:
|
|
|
38
38
|
|
|
39
39
|
#### Option B: Manual Creation
|
|
40
40
|
|
|
41
|
-
Create your specification manually
|
|
41
|
+
Create your specification manually in `.claude/product/`:
|
|
42
42
|
|
|
43
|
-
**Flat structure** (single file
|
|
44
|
-
-
|
|
43
|
+
**Flat structure** (single file):
|
|
44
|
+
- `.claude/product/index.md` - All features in one file
|
|
45
45
|
|
|
46
46
|
**Hierarchical structure** (organized by domain):
|
|
47
47
|
- `.claude/product/index.md` - Product overview
|
|
@@ -195,10 +195,11 @@ Full documentation: [agentful.app](https://agentful.app)
|
|
|
195
195
|
|
|
196
196
|
```
|
|
197
197
|
your-project/
|
|
198
|
-
├── PRODUCT.md # Product specification (flat)
|
|
199
198
|
├── CLAUDE.md # Project instructions
|
|
200
199
|
├── .claude/
|
|
201
|
-
│ ├── product/ # Product specification
|
|
200
|
+
│ ├── product/ # Product specification
|
|
201
|
+
│ │ ├── index.md # Product spec (flat or hierarchical)
|
|
202
|
+
│ │ └── domains/ # Optional: hierarchical structure
|
|
202
203
|
│ ├── agents/ # Agent definitions
|
|
203
204
|
│ ├── commands/ # Slash commands
|
|
204
205
|
│ ├── skills/ # Reusable skills
|