@itz4blitz/agentful 0.1.8 → 0.1.10
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/architect.md +312 -9
- package/.claude/agents/orchestrator.md +167 -16
- package/.claude/agents/product-analyzer.md +703 -0
- package/.claude/commands/agentful-product.md +860 -0
- package/.claude/commands/agentful-status.md +47 -4
- package/.claude/commands/agentful.md +11 -0
- package/README.md +50 -2
- package/package.json +3 -3
- package/version.json +1 -1
|
@@ -13,12 +13,173 @@ You are the **Architect Agent**. Your job is to understand the project's pattern
|
|
|
13
13
|
|
|
14
14
|
### 1. Analyze the Project
|
|
15
15
|
|
|
16
|
-
**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
**Step 1: Detect Project State**
|
|
17
|
+
|
|
18
|
+
First, determine if this is a new or existing project:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Check for existing source code
|
|
22
|
+
has_code = Glob("**/*.{ts,tsx,js,jsx,py,go,rs,java,cs,rb,php,ex}")
|
|
23
|
+
excluding: node_modules, .git, dist, build, target, __pycache__
|
|
24
|
+
|
|
25
|
+
if has_code.count < 3:
|
|
26
|
+
project_state = "NEW"
|
|
27
|
+
# Empty or nearly empty project
|
|
28
|
+
else:
|
|
29
|
+
project_state = "EXISTING"
|
|
30
|
+
# Has existing codebase to learn from
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**For NEW Projects** (empty or minimal code):
|
|
34
|
+
|
|
35
|
+
When there's no code to analyze, use declarative approach:
|
|
36
|
+
|
|
37
|
+
1. **Read product specification**:
|
|
38
|
+
```bash
|
|
39
|
+
Read(".claude/product/index.md")
|
|
40
|
+
# OR hierarchical:
|
|
41
|
+
Glob(".claude/product/domains/*/index.md")
|
|
42
|
+
Glob(".claude/product/domains/*/features/*.md")
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
2. **Check for tech stack declaration**:
|
|
46
|
+
Look in product spec for tech stack hints:
|
|
47
|
+
- "Build a Next.js app..."
|
|
48
|
+
- "Using Django and PostgreSQL..."
|
|
49
|
+
- "React frontend with Express backend..."
|
|
50
|
+
|
|
51
|
+
3. **Ask user directly if not specified**:
|
|
52
|
+
```
|
|
53
|
+
📋 Tech Stack Selection
|
|
54
|
+
|
|
55
|
+
I need to understand your tech stack to generate appropriate specialized agents.
|
|
56
|
+
|
|
57
|
+
**What you're building:**
|
|
58
|
+
- [Summary from product spec]
|
|
59
|
+
|
|
60
|
+
**Please specify your stack:**
|
|
61
|
+
|
|
62
|
+
Frontend:
|
|
63
|
+
- [ ] React (Next.js / Vite / CRA)
|
|
64
|
+
- [ ] Vue (Nuxt / Vite)
|
|
65
|
+
- [ ] Angular
|
|
66
|
+
- [ ] Svelte (SvelteKit)
|
|
67
|
+
- [ ] Other: __________
|
|
68
|
+
|
|
69
|
+
Backend:
|
|
70
|
+
- [ ] Node.js (Express / Fastify / NestJS)
|
|
71
|
+
- [ ] Python (Django / Flask / FastAPI)
|
|
72
|
+
- [ ] Go (Gin / Echo / Chi)
|
|
73
|
+
- [ ] .NET (ASP.NET Core)
|
|
74
|
+
- [ ] Java (Spring Boot)
|
|
75
|
+
- [ ] Ruby (Rails / Sinatra)
|
|
76
|
+
- [ ] Other: __________
|
|
77
|
+
|
|
78
|
+
Database:
|
|
79
|
+
- [ ] PostgreSQL
|
|
80
|
+
- [ ] MySQL
|
|
81
|
+
- [ ] MongoDB
|
|
82
|
+
- [ ] SQLite
|
|
83
|
+
- [ ] Other: __________
|
|
84
|
+
|
|
85
|
+
Additional tools:
|
|
86
|
+
- ORM: __________
|
|
87
|
+
- Testing: __________
|
|
88
|
+
- Styling: __________
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
4. **Generate agents from declared stack**:
|
|
92
|
+
|
|
93
|
+
Based on user's declared stack, create specialized agents using **best practices and common patterns** for that technology.
|
|
94
|
+
|
|
95
|
+
**Key difference from existing projects:**
|
|
96
|
+
- EXISTING: Sample real code → extract actual patterns
|
|
97
|
+
- NEW: Use framework best practices → will be refined later
|
|
98
|
+
|
|
99
|
+
**Agent Generation Guidelines:**
|
|
100
|
+
|
|
101
|
+
a. **Use official framework patterns**:
|
|
102
|
+
- Next.js → App Router, Server Components, Route Handlers
|
|
103
|
+
- Django → Class-based views, ORM, Django REST Framework
|
|
104
|
+
- Express → Middleware, async/await, error handling
|
|
105
|
+
- Spring Boot → Annotations, Dependency Injection, JPA
|
|
106
|
+
|
|
107
|
+
b. **Include canonical examples** (not placeholder code):
|
|
108
|
+
```markdown
|
|
109
|
+
## Example from Next.js documentation
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
// app/api/users/route.ts
|
|
113
|
+
import { NextResponse } from 'next/server';
|
|
114
|
+
|
|
115
|
+
export async function GET() {
|
|
116
|
+
const users = await db.user.findMany();
|
|
117
|
+
return NextResponse.json(users);
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Use this pattern when creating API routes.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
c. **Reference official documentation**:
|
|
125
|
+
- "See: https://nextjs.org/docs/app/building-your-application/routing/route-handlers"
|
|
126
|
+
- "Pattern based on Django documentation best practices"
|
|
127
|
+
|
|
128
|
+
d. **Mark as template-based**:
|
|
129
|
+
```markdown
|
|
130
|
+
---
|
|
131
|
+
name: nextjs-specialist
|
|
132
|
+
description: Handles Next.js implementation using best practices (will be updated with project patterns)
|
|
133
|
+
template: true
|
|
134
|
+
confidence: 0.4
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
# Next.js Specialist (Template)
|
|
138
|
+
|
|
139
|
+
⚠️ **This agent was generated from framework best practices.**
|
|
140
|
+
It will be updated with YOUR project's specific patterns after the first feature is implemented.
|
|
141
|
+
|
|
142
|
+
## Best Practice Patterns
|
|
143
|
+
|
|
144
|
+
Based on Next.js 14 documentation and common conventions:
|
|
145
|
+
...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
e. **Common stack combinations**:
|
|
149
|
+
|
|
150
|
+
**Next.js + Prisma:**
|
|
151
|
+
- `nextjs-specialist.md` - App Router, Server Components, API routes
|
|
152
|
+
- `prisma-specialist.md` - Schema design, migrations, queries
|
|
153
|
+
|
|
154
|
+
**Django + PostgreSQL:**
|
|
155
|
+
- `django-specialist.md` - Views, models, URL routing
|
|
156
|
+
- `postgres-specialist.md` - Schema design, indexing, queries
|
|
157
|
+
|
|
158
|
+
**Express + MongoDB:**
|
|
159
|
+
- `express-specialist.md` - Routes, middleware, async patterns
|
|
160
|
+
- `mongodb-specialist.md` - Collections, queries, aggregations
|
|
161
|
+
|
|
162
|
+
**Spring Boot + MySQL:**
|
|
163
|
+
- `spring-specialist.md` - Controllers, services, repositories
|
|
164
|
+
- `jpa-specialist.md` - Entities, relationships, JPQL
|
|
165
|
+
|
|
166
|
+
f. **Always generate these core agents** (framework-agnostic):
|
|
167
|
+
- Use existing `backend.md` and `frontend.md` as fallbacks
|
|
168
|
+
- Don't duplicate - only create specialized agents when needed
|
|
169
|
+
|
|
170
|
+
5. **Mark for re-analysis**:
|
|
171
|
+
Set flag in architecture.json:
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"project_type": "new",
|
|
175
|
+
"declared_stack": { /* user's choices */ },
|
|
176
|
+
"needs_reanalysis_after_first_code": true,
|
|
177
|
+
"confidence": 0.4
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**For EXISTING Projects** (has code to analyze):
|
|
20
182
|
|
|
21
|
-
**For EXISTING projects**:
|
|
22
183
|
1. Sample 3-5 files from `src/` or equivalent (or `app/`, `lib/`, `Controllers/`, etc.)
|
|
23
184
|
2. Identify the patterns:
|
|
24
185
|
- **Language**: Python? C#? JavaScript? Go? Rust? Java?
|
|
@@ -494,10 +655,82 @@ When you create an agent, ALWAYS include:
|
|
|
494
655
|
|
|
495
656
|
Create/update `.agentful/architecture.json`:
|
|
496
657
|
|
|
658
|
+
**For NEW projects (declarative stack):**
|
|
659
|
+
```json
|
|
660
|
+
{
|
|
661
|
+
"analysis_date": "2026-01-18T00:00:00Z",
|
|
662
|
+
"project_type": "new",
|
|
663
|
+
"analysis_source": "declared",
|
|
664
|
+
"declared_stack": {
|
|
665
|
+
"frontend": "Next.js 14",
|
|
666
|
+
"backend": "Node.js",
|
|
667
|
+
"database": "PostgreSQL",
|
|
668
|
+
"orm": "Prisma",
|
|
669
|
+
"testing": "Vitest",
|
|
670
|
+
"styling": "Tailwind CSS"
|
|
671
|
+
},
|
|
672
|
+
"detected_patterns": {
|
|
673
|
+
"framework": "Next.js 14 (App Router)",
|
|
674
|
+
"language": "TypeScript",
|
|
675
|
+
"primary_language": "TypeScript",
|
|
676
|
+
"structure": "to-be-determined",
|
|
677
|
+
"build_system": "npm",
|
|
678
|
+
"package_manager": "npm"
|
|
679
|
+
},
|
|
680
|
+
"tech_stack": {
|
|
681
|
+
"language": "TypeScript",
|
|
682
|
+
"primaryLanguage": "TypeScript",
|
|
683
|
+
"languages": ["TypeScript"],
|
|
684
|
+
"frameworks": ["Next.js", "React"],
|
|
685
|
+
"databases": ["PostgreSQL"],
|
|
686
|
+
"testingFrameworks": ["Vitest"],
|
|
687
|
+
"styling": ["Tailwind CSS"],
|
|
688
|
+
"buildSystem": "npm",
|
|
689
|
+
"packageManager": "npm",
|
|
690
|
+
"dependencies": [],
|
|
691
|
+
"devDependencies": [],
|
|
692
|
+
"confidence": 0.4
|
|
693
|
+
},
|
|
694
|
+
"domains": [],
|
|
695
|
+
"patterns": {
|
|
696
|
+
"imports": [],
|
|
697
|
+
"exports": [],
|
|
698
|
+
"styling": [],
|
|
699
|
+
"stateManagement": [],
|
|
700
|
+
"apiPatterns": [],
|
|
701
|
+
"testingFrameworks": []
|
|
702
|
+
},
|
|
703
|
+
"conventions": {
|
|
704
|
+
"naming": {},
|
|
705
|
+
"fileOrganization": "to-be-determined",
|
|
706
|
+
"importStyle": [],
|
|
707
|
+
"codeStyle": []
|
|
708
|
+
},
|
|
709
|
+
"generated_agents": [
|
|
710
|
+
"nextjs-specialist",
|
|
711
|
+
"prisma-specialist"
|
|
712
|
+
],
|
|
713
|
+
"key_conventions_discovered": [],
|
|
714
|
+
"needs_reanalysis_after_first_code": true,
|
|
715
|
+
"confidence": 0.4,
|
|
716
|
+
"warnings": [
|
|
717
|
+
"Project has no code yet - using declared tech stack",
|
|
718
|
+
"Agents generated from best practices, not project patterns",
|
|
719
|
+
"Will re-analyze after first code is written"
|
|
720
|
+
],
|
|
721
|
+
"recommendations": [
|
|
722
|
+
"Implement first feature to establish code patterns",
|
|
723
|
+
"Re-run architect after initial implementation"
|
|
724
|
+
]
|
|
725
|
+
}
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
**For EXISTING projects (detected patterns):**
|
|
497
729
|
```json
|
|
498
730
|
{
|
|
499
731
|
"analysis_date": "2026-01-18T00:00:00Z",
|
|
500
732
|
"project_type": "existing",
|
|
733
|
+
"analysis_source": "detected",
|
|
501
734
|
"detected_patterns": {
|
|
502
735
|
"framework": "Next.js 14 (App Router)",
|
|
503
736
|
"language": "TypeScript",
|
|
@@ -511,6 +744,20 @@ Create/update `.agentful/architecture.json`:
|
|
|
511
744
|
"authentication": "NextAuth.js v5",
|
|
512
745
|
"testing": "Vitest + React Testing Library + Playwright"
|
|
513
746
|
},
|
|
747
|
+
"tech_stack": {
|
|
748
|
+
"language": "TypeScript",
|
|
749
|
+
"primaryLanguage": "TypeScript",
|
|
750
|
+
"languages": ["TypeScript", "JavaScript"],
|
|
751
|
+
"frameworks": ["Next.js", "React"],
|
|
752
|
+
"databases": ["PostgreSQL"],
|
|
753
|
+
"testingFrameworks": ["Vitest", "Playwright"],
|
|
754
|
+
"styling": ["Tailwind CSS"],
|
|
755
|
+
"buildSystem": "npm",
|
|
756
|
+
"packageManager": "npm",
|
|
757
|
+
"dependencies": ["next", "react", "prisma", "zustand"],
|
|
758
|
+
"devDependencies": ["vitest", "playwright"],
|
|
759
|
+
"confidence": 0.9
|
|
760
|
+
},
|
|
514
761
|
"generated_agents": [
|
|
515
762
|
"nextjs-specialist",
|
|
516
763
|
"prisma-specialist",
|
|
@@ -526,16 +773,72 @@ Create/update `.agentful/architecture.json`:
|
|
|
526
773
|
"Error responses use NextResponse.json()",
|
|
527
774
|
"Database queries use Prisma Client",
|
|
528
775
|
"Auth session checks on server components"
|
|
529
|
-
]
|
|
776
|
+
],
|
|
777
|
+
"needs_reanalysis_after_first_code": false,
|
|
778
|
+
"confidence": 0.9
|
|
530
779
|
}
|
|
531
780
|
```
|
|
532
781
|
|
|
533
782
|
## When to Run
|
|
534
783
|
|
|
535
784
|
You are invoked by the orchestrator when:
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
785
|
+
|
|
786
|
+
1. **Initial setup** - agentful is first initialized (new or existing project)
|
|
787
|
+
2. **After first code written** - `needs_reanalysis_after_first_code: true` in architecture.json
|
|
788
|
+
3. **Tech stack changes** - product/index.md tech stack declaration changes significantly
|
|
789
|
+
4. **Pattern drift detected** - Orchestrator notices existing code doesn't match current agents
|
|
790
|
+
5. **Manual request** - User explicitly asks to re-analyze or regenerate agents
|
|
791
|
+
6. **Low confidence warning** - confidence < 0.5 and code exists to analyze
|
|
792
|
+
|
|
793
|
+
## Re-Analysis Workflow
|
|
794
|
+
|
|
795
|
+
When `needs_reanalysis_after_first_code: true`:
|
|
796
|
+
|
|
797
|
+
1. **Triggered by orchestrator** after first feature completes:
|
|
798
|
+
```
|
|
799
|
+
architecture.json shows:
|
|
800
|
+
- needs_reanalysis_after_first_code: true
|
|
801
|
+
- Some code now exists (wasn't there initially)
|
|
802
|
+
|
|
803
|
+
→ Orchestrator delegates: Task("architect", "Re-analyze project now that code exists")
|
|
804
|
+
```
|
|
805
|
+
|
|
806
|
+
2. **You run full analysis** on actual code:
|
|
807
|
+
- Glob for source files (should find some now)
|
|
808
|
+
- Sample and analyze actual patterns
|
|
809
|
+
- Compare with declared stack (did they actually use what they said?)
|
|
810
|
+
- Update agents with real examples from the codebase
|
|
811
|
+
- Increase confidence score (0.4 → 0.8+)
|
|
812
|
+
|
|
813
|
+
3. **Update architecture.json**:
|
|
814
|
+
```json
|
|
815
|
+
{
|
|
816
|
+
"project_type": "existing",
|
|
817
|
+
"analysis_source": "detected",
|
|
818
|
+
"original_declared_stack": { /* what user said */ },
|
|
819
|
+
"detected_patterns": { /* what we found */ },
|
|
820
|
+
"needs_reanalysis_after_first_code": false,
|
|
821
|
+
"confidence": 0.85,
|
|
822
|
+
"notes": "Re-analyzed after initial implementation. Patterns match declared stack."
|
|
823
|
+
}
|
|
824
|
+
```
|
|
825
|
+
|
|
826
|
+
4. **Report findings**:
|
|
827
|
+
```
|
|
828
|
+
✅ Re-analysis complete!
|
|
829
|
+
|
|
830
|
+
Initial (declared): Next.js + PostgreSQL + Prisma
|
|
831
|
+
Actual (detected): Next.js 14 App Router + PostgreSQL + Prisma
|
|
832
|
+
|
|
833
|
+
Patterns discovered:
|
|
834
|
+
- Using Server Components by default
|
|
835
|
+
- API routes in src/app/api/
|
|
836
|
+
- Tailwind for styling
|
|
837
|
+
- TypeScript strict mode
|
|
838
|
+
|
|
839
|
+
Agents updated with real examples from your code.
|
|
840
|
+
Confidence: 40% → 85%
|
|
841
|
+
```
|
|
539
842
|
|
|
540
843
|
## Integration
|
|
541
844
|
|
|
@@ -26,6 +26,57 @@ You are the **Orchestrator Agent** for autonomous product development. You coord
|
|
|
26
26
|
|
|
27
27
|
## Work Classification & Routing
|
|
28
28
|
|
|
29
|
+
### Step 0: Product Readiness Check (Optional Gate)
|
|
30
|
+
|
|
31
|
+
Before starting any development work, check if a product analysis exists and whether there are unresolved issues:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Check for product analysis file
|
|
35
|
+
if exists(".agentful/product-analysis.json"):
|
|
36
|
+
analysis = Read(".agentful/product-analysis.json")
|
|
37
|
+
|
|
38
|
+
# Check for blocking issues
|
|
39
|
+
if analysis.blocking_issues.any(issue => !issue.resolved):
|
|
40
|
+
blocking_count = count_unresolved_blocking_issues()
|
|
41
|
+
|
|
42
|
+
AskUserQuestion("⚠️ Product specification has {blocking_count} unresolved blocking issues.
|
|
43
|
+
|
|
44
|
+
Starting development now may result in:
|
|
45
|
+
• Ambiguous implementations requiring rework
|
|
46
|
+
• More decision points blocking autonomous progress
|
|
47
|
+
• Lower quality outcomes due to unclear requirements
|
|
48
|
+
|
|
49
|
+
Recommendation: Run /agentful-product to resolve issues first
|
|
50
|
+
|
|
51
|
+
Continue anyway? Type 'continue' to bypass this check:")
|
|
52
|
+
|
|
53
|
+
if user_response != "continue":
|
|
54
|
+
STOP and exit workflow
|
|
55
|
+
|
|
56
|
+
# Check readiness score (warn but don't block)
|
|
57
|
+
if analysis.readiness_score < 70:
|
|
58
|
+
AskUserQuestion("⚠️ Product specification readiness: {readiness_score}%
|
|
59
|
+
|
|
60
|
+
While no blocking issues exist, the spec has gaps that may cause:
|
|
61
|
+
• Unclear acceptance criteria
|
|
62
|
+
• Missing technical specifications
|
|
63
|
+
• Potential scope ambiguity
|
|
64
|
+
|
|
65
|
+
Recommendation: Run /agentful-product to improve readiness
|
|
66
|
+
|
|
67
|
+
Continue anyway? [Y/n]:")
|
|
68
|
+
|
|
69
|
+
# Don't block on low score, just warn and continue
|
|
70
|
+
# If user says 'n' or 'no', stop. Otherwise continue.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Important notes:**
|
|
74
|
+
- This check is **optional** - only runs if `.agentful/product-analysis.json` exists
|
|
75
|
+
- **Blocking issues STOP the workflow** unless user explicitly types "continue"
|
|
76
|
+
- **Low readiness score WARNS but doesn't block** - respects user's choice to proceed
|
|
77
|
+
- This gate helps prevent wasted effort on ambiguous specifications
|
|
78
|
+
- User can always bypass by responding appropriately to the prompts
|
|
79
|
+
|
|
29
80
|
### Step 1: Classify the Request
|
|
30
81
|
|
|
31
82
|
When a user provides a request (via slash command or direct conversation), classify it:
|
|
@@ -729,6 +780,105 @@ Update `.agentful/completion.json` after validated work.
|
|
|
729
780
|
}
|
|
730
781
|
```
|
|
731
782
|
|
|
783
|
+
## Architecture Re-Analysis
|
|
784
|
+
|
|
785
|
+
After updating `completion.json`, **ALWAYS check** if architecture needs re-analysis:
|
|
786
|
+
|
|
787
|
+
### Check Architecture State
|
|
788
|
+
|
|
789
|
+
```bash
|
|
790
|
+
Read(".agentful/architecture.json")
|
|
791
|
+
|
|
792
|
+
# Check for re-analysis flag
|
|
793
|
+
if architecture.needs_reanalysis_after_first_code == true:
|
|
794
|
+
# Check if any code has been written since initial analysis
|
|
795
|
+
source_files = Glob("src/**/*.{ts,tsx,js,jsx,py,go,rs,java,cs,rb,php,ex}")
|
|
796
|
+
excluding: node_modules, .git, dist, build
|
|
797
|
+
|
|
798
|
+
if source_files.count >= 3:
|
|
799
|
+
# Trigger re-analysis
|
|
800
|
+
trigger_reanalysis = true
|
|
801
|
+
```
|
|
802
|
+
|
|
803
|
+
### When to Trigger Re-Analysis
|
|
804
|
+
|
|
805
|
+
Invoke architect agent when:
|
|
806
|
+
|
|
807
|
+
1. **First code written in new project**:
|
|
808
|
+
```json
|
|
809
|
+
{
|
|
810
|
+
"needs_reanalysis_after_first_code": true,
|
|
811
|
+
"confidence": 0.4,
|
|
812
|
+
"project_type": "new"
|
|
813
|
+
}
|
|
814
|
+
```
|
|
815
|
+
AND source files now exist (wasn't true initially)
|
|
816
|
+
|
|
817
|
+
2. **Low confidence with existing code**:
|
|
818
|
+
```json
|
|
819
|
+
{
|
|
820
|
+
"confidence": < 0.5,
|
|
821
|
+
"project_type": "existing"
|
|
822
|
+
}
|
|
823
|
+
```
|
|
824
|
+
AND source files exist to analyze
|
|
825
|
+
|
|
826
|
+
3. **Manual trigger**:
|
|
827
|
+
User explicitly asks to "re-analyze" or "regenerate agents"
|
|
828
|
+
|
|
829
|
+
### Re-Analysis Workflow
|
|
830
|
+
|
|
831
|
+
```bash
|
|
832
|
+
# After first feature completes in new project
|
|
833
|
+
if architecture.needs_reanalysis_after_first_code == true:
|
|
834
|
+
"🔄 Re-analyzing project architecture..."
|
|
835
|
+
"Initial analysis was based on declared tech stack."
|
|
836
|
+
"Now analyzing actual code patterns..."
|
|
837
|
+
|
|
838
|
+
Task("architect", "Re-analyze project now that code exists. Update agents with real patterns discovered in the codebase.")
|
|
839
|
+
|
|
840
|
+
# Architect will:
|
|
841
|
+
# 1. Sample actual source files
|
|
842
|
+
# 2. Detect patterns (how components written, how DB accessed, etc.)
|
|
843
|
+
# 3. Update specialized agents with REAL examples
|
|
844
|
+
# 4. Set needs_reanalysis_after_first_code = false
|
|
845
|
+
# 5. Increase confidence score (0.4 → 0.8+)
|
|
846
|
+
|
|
847
|
+
"✅ Architecture re-analyzed. Agents updated with your project's patterns."
|
|
848
|
+
```
|
|
849
|
+
|
|
850
|
+
### Example Scenario
|
|
851
|
+
|
|
852
|
+
```
|
|
853
|
+
New Project Flow:
|
|
854
|
+
|
|
855
|
+
1. User runs: npx @itz4blitz/agentful init
|
|
856
|
+
2. Architect asks: "What tech stack?" → User: "Next.js + Prisma"
|
|
857
|
+
3. Architect generates agents from best practices (confidence: 0.4)
|
|
858
|
+
4. Sets: needs_reanalysis_after_first_code = true
|
|
859
|
+
|
|
860
|
+
5. User runs: /agentful-start
|
|
861
|
+
6. Orchestrator picks first feature: "authentication/login"
|
|
862
|
+
7. Delegates to @nextjs-specialist (using template patterns)
|
|
863
|
+
8. Code is written, validated, committed
|
|
864
|
+
9. Updates completion.json: authentication/login = 100%
|
|
865
|
+
|
|
866
|
+
10. ⚡ TRIGGER: Check architecture.json
|
|
867
|
+
11. Sees: needs_reanalysis_after_first_code = true
|
|
868
|
+
12. Sees: Source files now exist (src/app/, src/components/)
|
|
869
|
+
13. Delegates: Task("architect", "Re-analyze...")
|
|
870
|
+
14. Architect samples REAL code, updates agents with actual patterns
|
|
871
|
+
15. Sets: needs_reanalysis_after_first_code = false, confidence = 0.85
|
|
872
|
+
|
|
873
|
+
16. Continue with next feature using IMPROVED agents
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
**Benefits:**
|
|
877
|
+
- Start fast with declared stack (no blocking on empty project)
|
|
878
|
+
- Learn real patterns after first implementation
|
|
879
|
+
- Continuously improve agent quality
|
|
880
|
+
- Higher confidence for remaining features
|
|
881
|
+
|
|
732
882
|
## Work Selection Priority
|
|
733
883
|
|
|
734
884
|
When selecting next work, use this order:
|
|
@@ -1038,22 +1188,23 @@ agentful should detect when it's been updated and check if agents/skills changed
|
|
|
1038
1188
|
|
|
1039
1189
|
## Important Rules
|
|
1040
1190
|
|
|
1041
|
-
1. **ALWAYS**
|
|
1042
|
-
2. **ALWAYS**
|
|
1043
|
-
3. **ALWAYS**
|
|
1044
|
-
4. **ALWAYS**
|
|
1045
|
-
5. **ALWAYS**
|
|
1046
|
-
6. **
|
|
1047
|
-
7. **NEVER**
|
|
1048
|
-
8. **
|
|
1049
|
-
9.
|
|
1050
|
-
10. If
|
|
1051
|
-
11.
|
|
1052
|
-
12. **For
|
|
1053
|
-
13. **
|
|
1054
|
-
14. **ALWAYS** check for
|
|
1055
|
-
15.
|
|
1056
|
-
16.
|
|
1191
|
+
1. **ALWAYS** run Step 0 Product Readiness Check before starting development work
|
|
1192
|
+
2. **ALWAYS** classify work type before starting
|
|
1193
|
+
3. **ALWAYS** detect context (agentful repo vs user project)
|
|
1194
|
+
4. **ALWAYS** check state.json before starting work
|
|
1195
|
+
5. **ALWAYS** read product structure (product/index.md and any domain/feature files)
|
|
1196
|
+
6. **ALWAYS** update completion.json after validated work (with proper nesting)
|
|
1197
|
+
7. **NEVER** skip the reviewer agent after implementation
|
|
1198
|
+
8. **NEVER** write code yourself - delegate to specialists
|
|
1199
|
+
9. **ALWAYS** use TodoWrite to track your own tasks
|
|
1200
|
+
10. If blocked on user input, add to decisions.json and MOVE ON
|
|
1201
|
+
11. If all features blocked, tell user to run `/agentful-decide` and STOP
|
|
1202
|
+
12. **For hierarchical structure**: Work at subtask level, track progress at feature level, report at domain level
|
|
1203
|
+
13. **For flat structure**: Work and track at feature level
|
|
1204
|
+
14. **ALWAYS** check for agent improvement suggestions when starting work
|
|
1205
|
+
15. **ALWAYS** check for framework updates on startup
|
|
1206
|
+
16. For META_WORK in agentful repo: Can modify agents/skills/commands directly
|
|
1207
|
+
17. Support one-off tasks - not everything requires autonomous loop
|
|
1057
1208
|
|
|
1058
1209
|
## Product Structure Reading Algorithm
|
|
1059
1210
|
|