project-iris 0.0.12 → 0.0.14
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 +214 -323
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +79 -0
- package/flows/aidlc/agents/inception-agent.md +97 -0
- package/flows/aidlc/agents/master-agent.md +61 -0
- package/flows/aidlc/agents/operations-agent.md +89 -0
- package/flows/aidlc/commands/construction-agent.md +63 -0
- package/flows/aidlc/commands/inception-agent.md +55 -0
- package/flows/aidlc/commands/master-agent.md +47 -0
- package/flows/aidlc/commands/operations-agent.md +77 -0
- package/flows/aidlc/context-config.yaml +67 -0
- package/flows/aidlc/memory-bank.yaml +104 -0
- package/flows/aidlc/quick-start.md +322 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
- package/flows/aidlc/skills/construction/bolt-start.md +442 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +372 -0
- package/flows/aidlc/skills/inception/context.md +171 -0
- package/flows/aidlc/skills/inception/intent-create.md +211 -0
- package/flows/aidlc/skills/inception/intent-list.md +124 -0
- package/flows/aidlc/skills/inception/navigator.md +207 -0
- package/flows/aidlc/skills/inception/requirements.md +227 -0
- package/flows/aidlc/skills/inception/review.md +248 -0
- package/flows/aidlc/skills/inception/story-create.md +304 -0
- package/flows/aidlc/skills/inception/units.md +278 -0
- package/flows/aidlc/skills/master/analyze-context.md +239 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +158 -0
- package/flows/aidlc/skills/master/project-init.md +281 -0
- package/flows/aidlc/skills/master/route-request.md +126 -0
- package/flows/aidlc/skills/operations/build.md +237 -0
- package/flows/aidlc/skills/operations/deploy.md +259 -0
- package/flows/aidlc/skills/operations/monitor.md +265 -0
- package/flows/aidlc/skills/operations/navigator.md +209 -0
- package/flows/aidlc/skills/operations/verify.md +224 -0
- package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt.md +3 -3
- package/{dist → flows/aidlc}/templates/construction/bolt-types/spike-bolt.md +2 -2
- package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
- package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
- package/flows/aidlc/templates/inception/project/README.md +55 -0
- package/flows/aidlc/templates/standards/catalog.yaml +345 -0
- package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/analytics/env-detector.js +92 -0
- package/lib/analytics/index.js +22 -0
- package/lib/analytics/machine-id.js +33 -0
- package/lib/analytics/tracker.js +232 -0
- package/lib/cli-utils.js +342 -0
- package/lib/constants.js +32 -0
- package/lib/installer.js +402 -0
- package/lib/installers/AntigravityInstaller.js +22 -0
- package/lib/installers/ClaudeInstaller.js +85 -0
- package/lib/installers/ClineInstaller.js +21 -0
- package/lib/installers/CodexInstaller.js +21 -0
- package/lib/installers/CopilotInstaller.js +113 -0
- package/lib/installers/CursorInstaller.js +63 -0
- package/lib/installers/GeminiInstaller.js +75 -0
- package/lib/installers/KiroInstaller.js +22 -0
- package/lib/installers/OpenCodeInstaller.js +22 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +73 -0
- package/lib/installers/WindsurfInstaller.js +22 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +105 -32
- package/scripts/artifact-validator.js +594 -0
- package/scripts/bolt-complete.js +606 -0
- package/scripts/status-integrity.js +598 -0
- package/dist/bridge/agent-runner.js +0 -190
- package/dist/bridge/connector-factory.js +0 -31
- package/dist/bridge/connectors/antigravity-connector.js +0 -18
- package/dist/bridge/connectors/cursor-connector.js +0 -31
- package/dist/bridge/connectors/in-process-connector.js +0 -29
- package/dist/bridge/connectors/vscode-connector.js +0 -31
- package/dist/bridge/connectors/windsurf-connector.js +0 -23
- package/dist/bridge/filesystem-connector.js +0 -110
- package/dist/bridge/helper.js +0 -203
- package/dist/bridge/types.js +0 -10
- package/dist/cli.js +0 -40
- package/dist/commands/ask.js +0 -259
- package/dist/commands/bridge.js +0 -88
- package/dist/commands/create.js +0 -25
- package/dist/commands/develop.js +0 -141
- package/dist/commands/doctor.js +0 -102
- package/dist/commands/flow.js +0 -301
- package/dist/commands/framework.js +0 -273
- package/dist/commands/generate.js +0 -59
- package/dist/commands/install.js +0 -100
- package/dist/commands/pack.js +0 -33
- package/dist/commands/phase.js +0 -38
- package/dist/commands/run.js +0 -199
- package/dist/commands/status.js +0 -114
- package/dist/commands/uninstall.js +0 -14
- package/dist/commands/use.js +0 -20
- package/dist/commands/validate.js +0 -102
- package/dist/framework/framework-loader.js +0 -97
- package/dist/framework/framework-paths.js +0 -48
- package/dist/framework/framework-types.js +0 -15
- package/dist/iris/artifact-checker.js +0 -78
- package/dist/iris/artifacts/config.js +0 -68
- package/dist/iris/artifacts/generator.js +0 -88
- package/dist/iris/artifacts/types.js +0 -1
- package/dist/iris/bundle.js +0 -44
- package/dist/iris/doctrine/collector.js +0 -124
- package/dist/iris/fixer.js +0 -149
- package/dist/iris/flows/manifest.js +0 -124
- package/dist/iris/framework-context.js +0 -49
- package/dist/iris/framework-manager.js +0 -215
- package/dist/iris/fs/atomic.js +0 -22
- package/dist/iris/guard.js +0 -38
- package/dist/iris/importers/index.js +0 -9
- package/dist/iris/importers/types.js +0 -8
- package/dist/iris/importers/writer.js +0 -139
- package/dist/iris/include.js +0 -49
- package/dist/iris/installer.js +0 -334
- package/dist/iris/interactive/env.js +0 -21
- package/dist/iris/interactive/intent-interview.js +0 -345
- package/dist/iris/interactive/intent-schema.js +0 -28
- package/dist/iris/interactive/interview-io.js +0 -22
- package/dist/iris/interview/config.js +0 -71
- package/dist/iris/interview/types.js +0 -16
- package/dist/iris/interview/utils.js +0 -38
- package/dist/iris/manifest.js +0 -54
- package/dist/iris/packer.js +0 -325
- package/dist/iris/parsers/unit-parser.js +0 -43
- package/dist/iris/paths.js +0 -18
- package/dist/iris/policy.js +0 -133
- package/dist/iris/proc.js +0 -56
- package/dist/iris/report.js +0 -53
- package/dist/iris/resolver.js +0 -66
- package/dist/iris/router.js +0 -114
- package/dist/iris/routes.js +0 -189
- package/dist/iris/run-state.js +0 -146
- package/dist/iris/state.js +0 -113
- package/dist/iris/templates.js +0 -70
- package/dist/iris/tmp.js +0 -24
- package/dist/iris/uninstaller.js +0 -181
- package/dist/iris/utils/interpolate.js +0 -42
- package/dist/iris/validator.js +0 -391
- package/dist/iris/workflow/config.js +0 -51
- package/dist/iris/workflow/engine.js +0 -129
- package/dist/iris/workflow/steps.js +0 -448
- package/dist/iris/workflow/types.js +0 -1
- package/dist/iris_bundle/frameworks/iris-core/framework.yaml +0 -9
- package/dist/iris_bundle/frameworks/iris-core/memory/memory-bank.yaml +0 -1
- package/dist/iris_bundle/frameworks/iris-core/policy.yaml +0 -7
- package/dist/iris_bundle/frameworks/iris-core/templates/config/memory-bank.yaml +0 -1
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/spike-bolt.md +0 -240
- package/dist/lib.js +0 -96
- package/dist/templates/construction/bolt-template.md +0 -226
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +0 -49
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +0 -55
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +0 -67
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +0 -62
- package/dist/templates/construction/bolt-types/ddd-construction-bolt.md +0 -528
- package/dist/templates/construction/bolt-types/simple-construction-bolt.md +0 -347
- package/dist/templates/inception/requirements-template.md +0 -144
- package/dist/templates/inception/stories-template.md +0 -38
- package/dist/templates/inception/story-template.md +0 -147
- package/dist/templates/inception/system-context-template.md +0 -29
- package/dist/templates/inception/unit-brief-template.md +0 -177
- package/dist/templates/inception/units-template.md +0 -52
- package/dist/utils/exit-codes.js +0 -7
- package/dist/utils/logo.js +0 -17
- package/dist/workflows/bolt-execution.js +0 -238
- package/dist/workflows/bolt-plan.js +0 -221
- package/dist/workflows/intent-inception.js +0 -285
- package/dist/workflows/memory-bank-generator.js +0 -180
- package/dist/workflows/reporting.js +0 -74
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/simple-construction-bolt.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/requirements-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/stories-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/story-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/system-context-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/unit-brief-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/units-template.md +0 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
# Skill: Project Init
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Setup skill to initialize a new project by facilitating creation of project standards through guided conversation.
|
|
8
|
+
|
|
9
|
+
**NO Checkpoint** - Project initialization is a setup process. Standards are confirmed individually during the conversation.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
Initialize a new project by facilitating the creation of project standards through guided conversation. Standards ensure AI agents have the context needed to generate consistent, high-quality code.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
|
|
21
|
+
- **Required**: `.iris/aidlc/templates/standards/catalog.yaml` - defines available standards
|
|
22
|
+
- **Optional**: Project type hint from user (e.g., "full-stack web app", "backend API")
|
|
23
|
+
- **Optional**: Existing standards files to review/update
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Process
|
|
28
|
+
|
|
29
|
+
### 1. Load Standards Catalog
|
|
30
|
+
|
|
31
|
+
Read `.iris/aidlc/templates/standards/catalog.yaml` to understand:
|
|
32
|
+
|
|
33
|
+
- Available standards and their importance
|
|
34
|
+
- Decisions within each standard
|
|
35
|
+
- Dependencies between standards
|
|
36
|
+
- Project type presets
|
|
37
|
+
|
|
38
|
+
### 2. Determine Project Type
|
|
39
|
+
|
|
40
|
+
Ask the user what kind of project they're building:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
## Project Setup
|
|
44
|
+
|
|
45
|
+
Before we dive into technical choices, what kind of project are you building?
|
|
46
|
+
|
|
47
|
+
1. **Full-stack web app** - Frontend + backend + database
|
|
48
|
+
2. **Backend API** - API service, no frontend
|
|
49
|
+
3. **Frontend app** - SPA or SSR frontend
|
|
50
|
+
4. **CLI tool** - Command-line application
|
|
51
|
+
5. **Library** - Reusable package/module
|
|
52
|
+
6. **Other** - Tell me more
|
|
53
|
+
|
|
54
|
+
This helps me know which standards we need to discuss.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Use the project type to determine:
|
|
58
|
+
|
|
59
|
+
- Required standards (must create)
|
|
60
|
+
- Recommended standards (suggest, but optional)
|
|
61
|
+
- Skippable standards (not relevant)
|
|
62
|
+
|
|
63
|
+
**IMPORTANT**: After determining project type, immediately save it to `memory-bank/project.yaml`:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
# Project Configuration
|
|
67
|
+
# Generated by project-init
|
|
68
|
+
|
|
69
|
+
project_type: {selected-type} # e.g., full-stack-web, backend-api, frontend-app, cli-tool, library
|
|
70
|
+
initialized_at: {ISO timestamp}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
This file MUST be created before proceeding to standards facilitation, as other agents (e.g., Inception) read it to provide context-aware suggestions.
|
|
74
|
+
|
|
75
|
+
### 3. Check Existing Standards
|
|
76
|
+
|
|
77
|
+
Before creating new standards, check if any exist:
|
|
78
|
+
|
|
79
|
+
- Read `standards/` directory
|
|
80
|
+
- If files exist, ask: "I found existing standards. Do you want to review and update them, or start fresh?"
|
|
81
|
+
|
|
82
|
+
### 4. Facilitate Each Standard
|
|
83
|
+
|
|
84
|
+
For each required/recommended standard:
|
|
85
|
+
|
|
86
|
+
1. **Load the facilitation guide** from `templates/standards/{standard}.guide.md`
|
|
87
|
+
2. **Follow the guide's discovery process** - don't invent your own questions
|
|
88
|
+
3. **Adapt to user expertise** - be concise with experts, explanatory with newcomers
|
|
89
|
+
4. **Confirm before saving** - summarize choices, get approval
|
|
90
|
+
5. **Generate the standard file** - using the output format in the guide
|
|
91
|
+
6. **Save to path** defined in catalog (`output_path`)
|
|
92
|
+
|
|
93
|
+
### 5. Order of Standards
|
|
94
|
+
|
|
95
|
+
Follow dependency order from catalog:
|
|
96
|
+
|
|
97
|
+
1 - **tech-stack**: No dependencies
|
|
98
|
+
2 - **coding-standards**: Depends on tech-stack
|
|
99
|
+
3 - **system-architecture**: Depends on tech-stack (optional)
|
|
100
|
+
4 - **ux-guide**: Depends on tech-stack (optional)
|
|
101
|
+
5 - **api-conventions**: Depends on tech-stack (optional)
|
|
102
|
+
|
|
103
|
+
Never create a standard before its dependencies are satisfied.
|
|
104
|
+
|
|
105
|
+
### 6. Handle Optional Standards
|
|
106
|
+
|
|
107
|
+
For optional/recommended standards:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
## Optional: {Standard Name}
|
|
111
|
+
|
|
112
|
+
Based on your project type, this standard is recommended but not required:
|
|
113
|
+
- **{standard}**: {description from catalog}
|
|
114
|
+
|
|
115
|
+
Would you like to define this now, or skip for later?
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Facilitation Principles
|
|
121
|
+
|
|
122
|
+
### Adaptive Communication
|
|
123
|
+
|
|
124
|
+
**Read user signals:**
|
|
125
|
+
|
|
126
|
+
- Mentions specific tech confidently → treat as experienced
|
|
127
|
+
- Asks "what do you recommend?" → provide guidance
|
|
128
|
+
- Says "I don't know" → explain tradeoffs, suggest defaults
|
|
129
|
+
- Has strong opinions → respect them, validate coherence
|
|
130
|
+
|
|
131
|
+
**Adjust your style:**
|
|
132
|
+
|
|
133
|
+
- Expert: "TypeScript with Next.js? Got it. Deployment target?"
|
|
134
|
+
- Beginner: "TypeScript is great for catching bugs early. Since you mentioned React, Next.js would give you server-side rendering and easy deployment..."
|
|
135
|
+
|
|
136
|
+
### Collaborative Discovery
|
|
137
|
+
|
|
138
|
+
- **Don't interrogate** - have a conversation
|
|
139
|
+
- **Build context** - previous answers inform later questions
|
|
140
|
+
- **Surface tradeoffs** - help them make informed decisions
|
|
141
|
+
- **Capture rationale** - "why" is as important as "what"
|
|
142
|
+
|
|
143
|
+
### Question Format (CRITICAL)
|
|
144
|
+
|
|
145
|
+
**ALWAYS format questions like this:**
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
## [Topic Name]
|
|
149
|
+
|
|
150
|
+
[Brief context if needed - 1-2 sentences max]
|
|
151
|
+
|
|
152
|
+
1. **Option A** - description
|
|
153
|
+
2. **Option B** - description
|
|
154
|
+
3. **Option C** - description
|
|
155
|
+
4. **Other** - let me know
|
|
156
|
+
|
|
157
|
+
Type a number or describe your choice.
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Example - GOOD:**
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## Database
|
|
164
|
+
|
|
165
|
+
1. **SQLite** - Simple, file-based, great for small apps
|
|
166
|
+
2. **PostgreSQL** - Robust, scalable, widely supported
|
|
167
|
+
3. **MySQL** - Popular, good for web apps
|
|
168
|
+
4. **MongoDB** - Document store, flexible schema
|
|
169
|
+
5. **TBD** - Decide later
|
|
170
|
+
|
|
171
|
+
Type a number or tell me your preference.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Example - BAD (never do this):**
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
What database are you using? And where will you deploy? Also what's your auth strategy?
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**If user gives partial answer:**
|
|
181
|
+
> User says "PostgreSQL"
|
|
182
|
+
> You asked about database AND deployment
|
|
183
|
+
> → Acknowledge the database choice, then re-ask ONLY about deployment
|
|
184
|
+
|
|
185
|
+
### Practical Defaults
|
|
186
|
+
|
|
187
|
+
When user is unsure, offer sensible defaults:
|
|
188
|
+
> "For a TypeScript web app, most teams start with: Prettier for formatting, ESLint with strict mode, and Vitest for testing. These are well-supported and work great with AI code generation. Sound good as a starting point?"
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Output
|
|
193
|
+
|
|
194
|
+
After completing all standards:
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
## Project Initialization Complete
|
|
198
|
+
|
|
199
|
+
### Standards Created
|
|
200
|
+
|
|
201
|
+
- ✅ **Tech Stack**: Created at `standards/tech-stack.md`
|
|
202
|
+
- ✅ **Coding Standards**: Created at `standards/coding-standards.md`
|
|
203
|
+
- ⏭️ **System Architecture**: Skipped
|
|
204
|
+
- ⏭️ **UX Guide**: Skipped
|
|
205
|
+
- ⏭️ **API Conventions**: Skipped
|
|
206
|
+
|
|
207
|
+
### Summary
|
|
208
|
+
|
|
209
|
+
Your project is configured as a **{project type}** using:
|
|
210
|
+
- **Language**: {language}
|
|
211
|
+
- **Framework**: {framework}
|
|
212
|
+
- **Database**: {database or "TBD"}
|
|
213
|
+
|
|
214
|
+
### What These Standards Enable
|
|
215
|
+
|
|
216
|
+
AI agents will now:
|
|
217
|
+
- Generate code matching your style preferences
|
|
218
|
+
- Use your chosen libraries and patterns
|
|
219
|
+
- Follow your testing strategy
|
|
220
|
+
- Understand your project structure
|
|
221
|
+
|
|
222
|
+
### Actions
|
|
223
|
+
|
|
224
|
+
1 - **inception**: Create your first intent
|
|
225
|
+
2 - **standards**: Add more optional standards
|
|
226
|
+
3 - **menu**: Return to main menu
|
|
227
|
+
|
|
228
|
+
### Suggested Next Step
|
|
229
|
+
→ **inception** - Create your first intent with `/iris-inception-agent`
|
|
230
|
+
|
|
231
|
+
**Type a number or press Enter for suggested action.**
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Human Validation Points
|
|
237
|
+
|
|
238
|
+
At each standard completion:
|
|
239
|
+
> "I've captured your {standard} preferences. Here's the summary: {brief summary}. Does this look right? Any changes before I save?"
|
|
240
|
+
|
|
241
|
+
At project init completion:
|
|
242
|
+
> "Your project is initialized with {n} standards. AI agents now have the context they need. Ready to create your first intent?"
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Error Handling
|
|
247
|
+
|
|
248
|
+
### Missing Catalog
|
|
249
|
+
|
|
250
|
+
If `catalog.yaml` is not found:
|
|
251
|
+
> "I can't find the standards catalog. Please ensure `.iris/aidlc/templates/standards/catalog.yaml` exists."
|
|
252
|
+
|
|
253
|
+
### Missing Guide
|
|
254
|
+
|
|
255
|
+
If a facilitation guide is missing:
|
|
256
|
+
> "The facilitation guide for {standard} is missing. I'll skip this standard. You can create it manually at `standards/{standard}.md`."
|
|
257
|
+
|
|
258
|
+
### Dependency Not Met
|
|
259
|
+
|
|
260
|
+
If trying to create a standard before its dependency:
|
|
261
|
+
> "We need to define {dependency} before {standard}. Let's do that first."
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Transition
|
|
266
|
+
|
|
267
|
+
After project initialization:
|
|
268
|
+
|
|
269
|
+
- → **Inception Agent** (`.iris/agents/inception-agent.md`) - to create first intent
|
|
270
|
+
- → **Analyze Context** (`.iris/skills/master/analyze-context.md`) - if user wants to see project state
|
|
271
|
+
- → **Project Init** again - to add optional standards later
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Test Contract
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
input: User responses to standards questions
|
|
279
|
+
output: Created standards files in standards/ directory
|
|
280
|
+
checkpoints: 0 (setup process with inline confirmations)
|
|
281
|
+
```
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Skill: Route Request
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Routing skill to direct users to the appropriate specialist agent based on context and request.
|
|
8
|
+
|
|
9
|
+
**NO Checkpoint** - Routing is a navigation function, not a decision point.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
Direct the user to the appropriate specialist agent based on their current context and request.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
|
|
21
|
+
- **Required**: Completed context analysis (from `analyze-context.md`)
|
|
22
|
+
- **Required**: User's request or intent
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
### 1. Match State to Agent
|
|
29
|
+
|
|
30
|
+
Based on project state:
|
|
31
|
+
|
|
32
|
+
- **No intents / New feature request** → Inception Agent → `/iris-inception-agent`
|
|
33
|
+
- **Intent exists, needs elaboration** → Inception Agent → `/iris-inception-agent --intent="{name}"`
|
|
34
|
+
- **Ready for construction** → Construction Agent → `/iris-construction-agent --unit="{name}"`
|
|
35
|
+
- **Bolt in progress** → Construction Agent → `/iris-construction-agent --unit="{name}" --bolt-id="{id}"`
|
|
36
|
+
- **Ready for deployment** → Operations Agent → `/iris-operations-agent --unit="{name}"`
|
|
37
|
+
- **In production, needs monitoring** → Operations Agent → `/iris-operations-agent --unit="{name}"`
|
|
38
|
+
|
|
39
|
+
### 2. Handle Special Cases
|
|
40
|
+
|
|
41
|
+
**User asks about something different than current state**:
|
|
42
|
+
> "I see you're in {current phase}, but you're asking about {different thing}. Let me help you with that instead."
|
|
43
|
+
|
|
44
|
+
**User is confused about what to do**:
|
|
45
|
+
> "Based on your project state, the logical next step is {action}. Would you like me to route you there, or do you have something else in mind?"
|
|
46
|
+
|
|
47
|
+
**Multiple options available**:
|
|
48
|
+
> "You have several options at this point:
|
|
49
|
+
>
|
|
50
|
+
> 1. {Option 1} → {command}
|
|
51
|
+
> 2. {Option 2} → {command}
|
|
52
|
+
> Which would you like to pursue?"
|
|
53
|
+
|
|
54
|
+
### 3. Provide Clear Handoff
|
|
55
|
+
|
|
56
|
+
Always include:
|
|
57
|
+
|
|
58
|
+
1. The specific command to run
|
|
59
|
+
2. What parameters to include
|
|
60
|
+
3. What the agent will help them do
|
|
61
|
+
4. What to expect next
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Output
|
|
66
|
+
|
|
67
|
+
````markdown
|
|
68
|
+
## Routing Recommendation
|
|
69
|
+
|
|
70
|
+
Based on your current state ({phase}) and request ({what user wants}):
|
|
71
|
+
|
|
72
|
+
### Recommended Action
|
|
73
|
+
→ **{Agent Name}**: {brief description of what it does}
|
|
74
|
+
|
|
75
|
+
### Command
|
|
76
|
+
```text
|
|
77
|
+
{exact command with parameters}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### What Happens Next
|
|
81
|
+
|
|
82
|
+
{Description of what the agent will guide them through}
|
|
83
|
+
|
|
84
|
+
### Actions
|
|
85
|
+
|
|
86
|
+
1 - **proceed**: Run the recommended command
|
|
87
|
+
2 - **different**: Choose a different option
|
|
88
|
+
3 - **explain**: Learn more about the target agent
|
|
89
|
+
|
|
90
|
+
### Suggested Next Step
|
|
91
|
+
|
|
92
|
+
→ **proceed** - Run the command above
|
|
93
|
+
|
|
94
|
+
**Type a number or press Enter for suggested action.**
|
|
95
|
+
````
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Human Validation Point
|
|
100
|
+
|
|
101
|
+
> "I'm routing you to the {Agent Name}. This agent will help you {specific task}. Does this match what you're trying to accomplish?"
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Transition
|
|
106
|
+
|
|
107
|
+
After routing:
|
|
108
|
+
|
|
109
|
+
- User runs the provided command
|
|
110
|
+
- Control transfers to the target agent
|
|
111
|
+
- Master Agent is no longer active
|
|
112
|
+
|
|
113
|
+
If user declines routing:
|
|
114
|
+
|
|
115
|
+
- → **Answer Question** (`.iris/skills/master/answer-question.md`) - clarify their needs
|
|
116
|
+
- → **Explain Flow** (`.iris/skills/master/explain-flow.md`) - explain the methodology
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Test Contract
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
input: Context analysis + user request
|
|
124
|
+
output: Routing recommendation with exact command
|
|
125
|
+
checkpoints: 0 (routing only)
|
|
126
|
+
```
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Skill: Build Deployment Artifacts
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Progress Display
|
|
6
|
+
|
|
7
|
+
Show at start of this skill:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
### Operations Progress
|
|
11
|
+
- [ ] Build approval ← current
|
|
12
|
+
- [ ] Staging deploy
|
|
13
|
+
- [ ] Production deploy
|
|
14
|
+
- [ ] Monitoring setup
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Checkpoints in This Skill
|
|
20
|
+
|
|
21
|
+
| Checkpoint | Purpose | Wait For |
|
|
22
|
+
|------------|---------|----------|
|
|
23
|
+
| Checkpoint 1 | Build approval | User confirmation |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Goal
|
|
28
|
+
|
|
29
|
+
Create deployable packages (containers, functions, bundles) for a Unit and document the build metadata.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Input
|
|
34
|
+
|
|
35
|
+
- **Required**: `--unit` - The unit to build
|
|
36
|
+
- **Required**: `.iris/aidlc/memory-bank.yaml` - artifact schema
|
|
37
|
+
- **Optional**: `--version` - Explicit version tag (default: auto-generate)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Process
|
|
42
|
+
|
|
43
|
+
### 1. Verify Prerequisites
|
|
44
|
+
|
|
45
|
+
Check construction completion:
|
|
46
|
+
|
|
47
|
+
- [ ] **All bolts complete**: Path from `schema.bolts` (Required)
|
|
48
|
+
- [ ] **Tests passing**: Last bolt test stage (Required)
|
|
49
|
+
- [ ] **Code exists**: Unit source directory (Required)
|
|
50
|
+
|
|
51
|
+
### 2. Detect Build Type
|
|
52
|
+
|
|
53
|
+
Analyze unit structure to determine build strategy:
|
|
54
|
+
|
|
55
|
+
- `Dockerfile` → **Container** → `docker build`
|
|
56
|
+
- `serverless.yml` → **Serverless** → Framework deploy
|
|
57
|
+
- `package.json` → **Node.js** → `npm run build`
|
|
58
|
+
- `Cargo.toml` → **Rust** → `cargo build --release`
|
|
59
|
+
- `go.mod` → **Go** → `go build`
|
|
60
|
+
|
|
61
|
+
### 3. Determine Version
|
|
62
|
+
|
|
63
|
+
Generate semantic version:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
## Version Calculation
|
|
67
|
+
|
|
68
|
+
Base: {major}.{minor}.{patch}
|
|
69
|
+
Commit: {short-sha}
|
|
70
|
+
Tag: v{version}-{commit}
|
|
71
|
+
|
|
72
|
+
Example: v1.2.0-abc123
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 4. Execute Build
|
|
76
|
+
|
|
77
|
+
Run appropriate build commands:
|
|
78
|
+
|
|
79
|
+
1. **Pre-build**: Install dependencies
|
|
80
|
+
2. **Build**: Compile/bundle
|
|
81
|
+
3. **Test**: Run final verification
|
|
82
|
+
4. **Package**: Create deployable artifact
|
|
83
|
+
5. **Tag**: Apply version tag
|
|
84
|
+
|
|
85
|
+
### 5. Push to Registry
|
|
86
|
+
|
|
87
|
+
Upload artifact to configured registry:
|
|
88
|
+
|
|
89
|
+
- Container → Container registry
|
|
90
|
+
- Package → Package registry
|
|
91
|
+
- Function → Function storage
|
|
92
|
+
|
|
93
|
+
### 6. Document Build
|
|
94
|
+
|
|
95
|
+
Create/update `deployment/build.md`:
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
---
|
|
99
|
+
version: {version}
|
|
100
|
+
commit: {sha}
|
|
101
|
+
built: {timestamp}
|
|
102
|
+
status: success
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Build: {version}
|
|
106
|
+
|
|
107
|
+
### Artifact
|
|
108
|
+
- **Type**: {container|function|package}
|
|
109
|
+
- **Tag**: `{registry}/{unit}:{version}`
|
|
110
|
+
- **Size**: {size}
|
|
111
|
+
- **SHA**: {artifact-sha}
|
|
112
|
+
|
|
113
|
+
### Build Environment
|
|
114
|
+
- OS: {os}
|
|
115
|
+
- Runtime: {runtime-version}
|
|
116
|
+
- Builder: {tool-version}
|
|
117
|
+
|
|
118
|
+
### Dependencies
|
|
119
|
+
|
|
120
|
+
- **{dep1}**: {ver}
|
|
121
|
+
- **{dep2}**: {ver}
|
|
122
|
+
|
|
123
|
+
### Build Log Summary
|
|
124
|
+
{key events from build}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Output
|
|
130
|
+
|
|
131
|
+
````markdown
|
|
132
|
+
## Build Complete: {unit-name}
|
|
133
|
+
|
|
134
|
+
### Artifact Created
|
|
135
|
+
|
|
136
|
+
- **Version**: `{version}`
|
|
137
|
+
- **Tag**: `{registry}/{unit}:{version}`
|
|
138
|
+
- **Built**: {timestamp}
|
|
139
|
+
- **Size**: {size}
|
|
140
|
+
|
|
141
|
+
### Build Summary
|
|
142
|
+
- Dependencies: {count} packages
|
|
143
|
+
- Build time: {duration}
|
|
144
|
+
- Tests: ✅ All passing
|
|
145
|
+
|
|
146
|
+
### Artifact Location
|
|
147
|
+
```text
|
|
148
|
+
{registry-url}/{unit}:{version}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Documentation Updated
|
|
152
|
+
|
|
153
|
+
- `{unit-path}/deployment/build.md`
|
|
154
|
+
|
|
155
|
+
### Actions
|
|
156
|
+
|
|
157
|
+
1 - **deploy**: Deploy to dev environment
|
|
158
|
+
2 - **menu**: Return to operations menu
|
|
159
|
+
|
|
160
|
+
### Suggested Next Step
|
|
161
|
+
|
|
162
|
+
→ **deploy** - Deploy `{version}` to dev environment
|
|
163
|
+
|
|
164
|
+
**Type a number or press Enter for suggested action.**
|
|
165
|
+
````
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Output (Build Failed)
|
|
170
|
+
|
|
171
|
+
````markdown
|
|
172
|
+
## Build Failed: {unit-name}
|
|
173
|
+
|
|
174
|
+
### Error
|
|
175
|
+
```text
|
|
176
|
+
{error message}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Failure Point
|
|
180
|
+
|
|
181
|
+
- **Stage**: {compile|test|package}
|
|
182
|
+
- **Exit Code**: {code}
|
|
183
|
+
|
|
184
|
+
### Logs
|
|
185
|
+
|
|
186
|
+
{relevant log excerpt}
|
|
187
|
+
|
|
188
|
+
### Suggested Actions
|
|
189
|
+
|
|
190
|
+
1. Fix the build error in source code
|
|
191
|
+
2. Re-run build: `build --unit="{unit}"`
|
|
192
|
+
|
|
193
|
+
### No Artifacts Created
|
|
194
|
+
|
|
195
|
+
Build must succeed before deployment.
|
|
196
|
+
````
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Build Confirmation
|
|
201
|
+
|
|
202
|
+
**Checkpoint 1**: Ask user to confirm build:
|
|
203
|
+
|
|
204
|
+
```text
|
|
205
|
+
Ready to build v{version}?
|
|
206
|
+
|
|
207
|
+
This will:
|
|
208
|
+
1. Verify all tests pass
|
|
209
|
+
2. Create deployable artifact
|
|
210
|
+
3. Tag with version {version}
|
|
211
|
+
4. Push to registry
|
|
212
|
+
|
|
213
|
+
Proceed with build?
|
|
214
|
+
1 - Yes, build
|
|
215
|
+
2 - Cancel
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Wait for user response.**
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Transition
|
|
223
|
+
|
|
224
|
+
After build approved and completed:
|
|
225
|
+
|
|
226
|
+
- → **Deploy** - deploy to dev environment
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Test Contract
|
|
231
|
+
|
|
232
|
+
```yaml
|
|
233
|
+
input: Unit name, version
|
|
234
|
+
output: Deployable artifact, build.md documentation
|
|
235
|
+
checkpoints: 1
|
|
236
|
+
- Checkpoint 1: Build approved by user
|
|
237
|
+
```
|