@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.
@@ -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 (Legacy/Quick Start)
20
- ├── PRODUCT.md # Single file with all features
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("PRODUCT.md"):
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 (`PRODUCT.md`) - legacy quick-start format at root
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("PRODUCT.md"):
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 `PRODUCT.md` (or `.claude/product/index.md`) to extract feature list:
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 product_md_exists or product_index_exists:
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, PRODUCT.md exists → flat)
633
- 2. Determine product file: `PRODUCT.md` or `.claude/product/index.md`
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 (legacy) | `PRODUCT.md` exists | `PRODUCT.md` | Flat `features` object | Track at feature level |
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 at project root):
44
- - `PRODUCT.md` - All features in one file
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 (hierarchical)
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