kiro-spec-engine 1.2.2 → 1.3.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/CHANGELOG.md +91 -0
- package/README.md +172 -0
- package/bin/kiro-spec-engine.js +62 -0
- package/docs/adoption-guide.md +506 -0
- package/docs/agent-hooks-analysis.md +815 -0
- package/docs/architecture.md +706 -0
- package/docs/cross-tool-guide.md +554 -0
- package/docs/developer-guide.md +615 -0
- package/docs/manual-workflows-guide.md +417 -0
- package/docs/steering-strategy-guide.md +196 -0
- package/docs/upgrade-guide.md +632 -0
- package/lib/adoption/detection-engine.js +14 -4
- package/lib/commands/adopt.js +117 -3
- package/lib/commands/context.js +99 -0
- package/lib/commands/prompt.js +105 -0
- package/lib/commands/status.js +225 -0
- package/lib/commands/task.js +199 -0
- package/lib/commands/watch.js +569 -0
- package/lib/commands/workflows.js +240 -0
- package/lib/commands/workspace.js +189 -0
- package/lib/context/context-exporter.js +378 -0
- package/lib/context/prompt-generator.js +482 -0
- package/lib/steering/adoption-config.js +164 -0
- package/lib/steering/steering-manager.js +289 -0
- package/lib/task/task-claimer.js +430 -0
- package/lib/utils/tool-detector.js +383 -0
- package/lib/watch/action-executor.js +458 -0
- package/lib/watch/event-debouncer.js +323 -0
- package/lib/watch/execution-logger.js +550 -0
- package/lib/watch/file-watcher.js +499 -0
- package/lib/watch/presets.js +266 -0
- package/lib/watch/watch-manager.js +533 -0
- package/lib/workspace/workspace-manager.js +370 -0
- package/lib/workspace/workspace-sync.js +356 -0
- package/package.json +4 -1
- package/template/.kiro/tools/backup_manager.py +295 -0
- package/template/.kiro/tools/configuration_manager.py +218 -0
- package/template/.kiro/tools/document_evaluator.py +550 -0
- package/template/.kiro/tools/enhancement_logger.py +168 -0
- package/template/.kiro/tools/error_handler.py +335 -0
- package/template/.kiro/tools/improvement_identifier.py +444 -0
- package/template/.kiro/tools/modification_applicator.py +737 -0
- package/template/.kiro/tools/quality_gate_enforcer.py +207 -0
- package/template/.kiro/tools/quality_scorer.py +305 -0
- package/template/.kiro/tools/report_generator.py +154 -0
- package/template/.kiro/tools/ultrawork_enhancer_refactored.py +0 -0
- package/template/.kiro/tools/ultrawork_enhancer_v2.py +463 -0
- package/template/.kiro/tools/ultrawork_enhancer_v3.py +606 -0
- package/template/.kiro/tools/workflow_quality_gate.py +100 -0
|
@@ -0,0 +1,815 @@
|
|
|
1
|
+
# Agent Hooks Analysis for kiro-spec-engine
|
|
2
|
+
|
|
3
|
+
**Status**: Initial Analysis
|
|
4
|
+
**Date**: 2026-01-23
|
|
5
|
+
**Version**: 1.0
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Executive Summary
|
|
10
|
+
|
|
11
|
+
This document analyzes the potential integration of Kiro IDE's agent hooks feature into kiro-spec-engine (kse). Based on available information about agent hooks functionality, we identify potential use cases, evaluate benefits and trade-offs, and provide recommendations for integration.
|
|
12
|
+
|
|
13
|
+
**Recommendation**: ✅ **Integrate agent hooks** - High value for automation and user experience
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What are Agent Hooks?
|
|
18
|
+
|
|
19
|
+
### Overview
|
|
20
|
+
|
|
21
|
+
Agent hooks are automation triggers in Kiro IDE that allow automatic agent actions based on IDE events. They enable:
|
|
22
|
+
|
|
23
|
+
- **Event-Driven Automation**: Trigger AI actions on file changes, prompts, or other events
|
|
24
|
+
- **Workflow Automation**: Automate repetitive tasks in development workflow
|
|
25
|
+
- **Context-Aware Actions**: Execute actions with full project context
|
|
26
|
+
|
|
27
|
+
### Hook Types
|
|
28
|
+
|
|
29
|
+
Based on Kiro IDE documentation, agent hooks support various event types:
|
|
30
|
+
|
|
31
|
+
1. **fileEdited**: Triggered when a file is saved
|
|
32
|
+
2. **fileCreated**: Triggered when a new file is created
|
|
33
|
+
3. **fileDeleted**: Triggered when a file is deleted
|
|
34
|
+
4. **promptSubmit**: Triggered when a message is sent to the agent
|
|
35
|
+
5. **agentStop**: Triggered when an agent execution completes
|
|
36
|
+
6. **userTriggered**: Manually triggered by the user
|
|
37
|
+
|
|
38
|
+
### Hook Actions
|
|
39
|
+
|
|
40
|
+
Hooks can perform two types of actions:
|
|
41
|
+
|
|
42
|
+
1. **askAgent**: Send a message to the agent
|
|
43
|
+
2. **runCommand**: Execute a shell command
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Use Cases for kse
|
|
48
|
+
|
|
49
|
+
### High-Priority Use Cases
|
|
50
|
+
|
|
51
|
+
#### 1. Automatic Task Status Updates
|
|
52
|
+
|
|
53
|
+
**Event**: `fileEdited` on `tasks.md`
|
|
54
|
+
**Action**: `askAgent` - "Analyze task status changes and update workspace sync"
|
|
55
|
+
|
|
56
|
+
**Benefits**:
|
|
57
|
+
- Automatic workspace synchronization when tasks are updated
|
|
58
|
+
- Reduces manual sync commands
|
|
59
|
+
- Keeps team status current
|
|
60
|
+
|
|
61
|
+
**Implementation**:
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"name": "Auto-sync on task update",
|
|
65
|
+
"when": {
|
|
66
|
+
"type": "fileEdited",
|
|
67
|
+
"patterns": ["**/tasks.md"]
|
|
68
|
+
},
|
|
69
|
+
"then": {
|
|
70
|
+
"type": "askAgent",
|
|
71
|
+
"prompt": "Task file was updated. Run 'kse workspace sync' to synchronize changes with the team."
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### 2. Context Export on Spec Completion
|
|
77
|
+
|
|
78
|
+
**Event**: `agentStop`
|
|
79
|
+
**Action**: `runCommand` - Export context when spec work is done
|
|
80
|
+
|
|
81
|
+
**Benefits**:
|
|
82
|
+
- Automatic context export for sharing
|
|
83
|
+
- Ensures latest context is always available
|
|
84
|
+
- Reduces manual export steps
|
|
85
|
+
|
|
86
|
+
**Implementation**:
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"name": "Export context on completion",
|
|
90
|
+
"when": {
|
|
91
|
+
"type": "agentStop"
|
|
92
|
+
},
|
|
93
|
+
"then": {
|
|
94
|
+
"type": "runCommand",
|
|
95
|
+
"command": "kse context export $(kse current-spec)"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### 3. Quality Gate Enforcement
|
|
101
|
+
|
|
102
|
+
**Event**: `promptSubmit`
|
|
103
|
+
**Action**: `runCommand` - Run quality checks before starting work
|
|
104
|
+
|
|
105
|
+
**Benefits**:
|
|
106
|
+
- Enforce quality standards automatically
|
|
107
|
+
- Catch issues early
|
|
108
|
+
- Maintain professional standards
|
|
109
|
+
|
|
110
|
+
**Implementation**:
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"name": "Quality gate check",
|
|
114
|
+
"when": {
|
|
115
|
+
"type": "promptSubmit"
|
|
116
|
+
},
|
|
117
|
+
"then": {
|
|
118
|
+
"type": "runCommand",
|
|
119
|
+
"command": "kse doctor && kse status"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### 4. Automatic Prompt Generation
|
|
125
|
+
|
|
126
|
+
**Event**: `fileEdited` on spec files
|
|
127
|
+
**Action**: `askAgent` - Generate prompts when specs are updated
|
|
128
|
+
|
|
129
|
+
**Benefits**:
|
|
130
|
+
- Always have up-to-date prompts
|
|
131
|
+
- Reduces manual prompt generation
|
|
132
|
+
- Improves cross-tool workflow
|
|
133
|
+
|
|
134
|
+
**Implementation**:
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"name": "Auto-generate prompts",
|
|
138
|
+
"when": {
|
|
139
|
+
"type": "fileEdited",
|
|
140
|
+
"patterns": ["**/.kiro/specs/*/requirements.md", "**/.kiro/specs/*/design.md"]
|
|
141
|
+
},
|
|
142
|
+
"then": {
|
|
143
|
+
"type": "askAgent",
|
|
144
|
+
"prompt": "Spec file was updated. Consider regenerating prompts with 'kse prompt generate' for affected tasks."
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Medium-Priority Use Cases
|
|
150
|
+
|
|
151
|
+
#### 5. Task Claiming Reminders
|
|
152
|
+
|
|
153
|
+
**Event**: `fileEdited` on implementation files
|
|
154
|
+
**Action**: `askAgent` - Remind to claim tasks
|
|
155
|
+
|
|
156
|
+
**Benefits**:
|
|
157
|
+
- Prevents forgotten task claims
|
|
158
|
+
- Improves team coordination
|
|
159
|
+
- Reduces conflicts
|
|
160
|
+
|
|
161
|
+
#### 6. Documentation Updates
|
|
162
|
+
|
|
163
|
+
**Event**: `agentStop`
|
|
164
|
+
**Action**: `askAgent` - Remind to update documentation
|
|
165
|
+
|
|
166
|
+
**Benefits**:
|
|
167
|
+
- Keeps documentation current
|
|
168
|
+
- Reduces documentation debt
|
|
169
|
+
- Improves project quality
|
|
170
|
+
|
|
171
|
+
#### 7. Test Execution
|
|
172
|
+
|
|
173
|
+
**Event**: `fileEdited` on source files
|
|
174
|
+
**Action**: `runCommand` - Run relevant tests
|
|
175
|
+
|
|
176
|
+
**Benefits**:
|
|
177
|
+
- Immediate feedback on changes
|
|
178
|
+
- Catches regressions early
|
|
179
|
+
- Improves code quality
|
|
180
|
+
|
|
181
|
+
### Low-Priority Use Cases
|
|
182
|
+
|
|
183
|
+
#### 8. Backup Creation
|
|
184
|
+
|
|
185
|
+
**Event**: `fileEdited` on critical files
|
|
186
|
+
**Action**: `runCommand` - Create backups
|
|
187
|
+
|
|
188
|
+
#### 9. Metrics Collection
|
|
189
|
+
|
|
190
|
+
**Event**: `agentStop`
|
|
191
|
+
**Action**: `runCommand` - Collect usage metrics
|
|
192
|
+
|
|
193
|
+
#### 10. Notification System
|
|
194
|
+
|
|
195
|
+
**Event**: Various
|
|
196
|
+
**Action**: `runCommand` - Send notifications to team
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Benefits Analysis
|
|
201
|
+
|
|
202
|
+
### For Individual Developers
|
|
203
|
+
|
|
204
|
+
**Productivity**:
|
|
205
|
+
- ✅ Reduced manual commands (30-50% fewer CLI calls)
|
|
206
|
+
- ✅ Automatic synchronization
|
|
207
|
+
- ✅ Faster context switching
|
|
208
|
+
|
|
209
|
+
**Quality**:
|
|
210
|
+
- ✅ Automatic quality checks
|
|
211
|
+
- ✅ Consistent workflow enforcement
|
|
212
|
+
- ✅ Reduced human error
|
|
213
|
+
|
|
214
|
+
**Experience**:
|
|
215
|
+
- ✅ Seamless automation
|
|
216
|
+
- ✅ Less context switching
|
|
217
|
+
- ✅ More focus on coding
|
|
218
|
+
|
|
219
|
+
### For Teams
|
|
220
|
+
|
|
221
|
+
**Coordination**:
|
|
222
|
+
- ✅ Automatic task status updates
|
|
223
|
+
- ✅ Real-time team awareness
|
|
224
|
+
- ✅ Reduced coordination overhead
|
|
225
|
+
|
|
226
|
+
**Consistency**:
|
|
227
|
+
- ✅ Enforced quality standards
|
|
228
|
+
- ✅ Standardized workflows
|
|
229
|
+
- ✅ Predictable processes
|
|
230
|
+
|
|
231
|
+
**Efficiency**:
|
|
232
|
+
- ✅ Parallel work without conflicts
|
|
233
|
+
- ✅ Faster onboarding
|
|
234
|
+
- ✅ Reduced meeting time
|
|
235
|
+
|
|
236
|
+
### For Projects
|
|
237
|
+
|
|
238
|
+
**Quality**:
|
|
239
|
+
- ✅ Consistent documentation
|
|
240
|
+
- ✅ Enforced standards
|
|
241
|
+
- ✅ Better test coverage
|
|
242
|
+
|
|
243
|
+
**Maintainability**:
|
|
244
|
+
- ✅ Up-to-date context exports
|
|
245
|
+
- ✅ Current documentation
|
|
246
|
+
- ✅ Clear task status
|
|
247
|
+
|
|
248
|
+
**Scalability**:
|
|
249
|
+
- ✅ Automation scales with team size
|
|
250
|
+
- ✅ Reduced manual overhead
|
|
251
|
+
- ✅ Consistent across projects
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Trade-offs and Considerations
|
|
256
|
+
|
|
257
|
+
### Advantages
|
|
258
|
+
|
|
259
|
+
1. **Automation**: Reduces manual steps significantly
|
|
260
|
+
2. **Consistency**: Enforces workflows automatically
|
|
261
|
+
3. **Real-time**: Immediate feedback and updates
|
|
262
|
+
4. **Scalability**: Works for teams of any size
|
|
263
|
+
5. **Flexibility**: Customizable per project
|
|
264
|
+
|
|
265
|
+
### Disadvantages
|
|
266
|
+
|
|
267
|
+
1. **Kiro IDE Only**: Only works in Kiro IDE
|
|
268
|
+
2. **Learning Curve**: Users need to understand hooks
|
|
269
|
+
3. **Configuration**: Requires initial setup
|
|
270
|
+
4. **Debugging**: Hook failures can be confusing
|
|
271
|
+
5. **Performance**: Too many hooks can slow down IDE
|
|
272
|
+
|
|
273
|
+
### Mitigation Strategies
|
|
274
|
+
|
|
275
|
+
**For Kiro IDE Dependency**:
|
|
276
|
+
- Provide fallback CLI commands for other tools
|
|
277
|
+
- Document manual workflows
|
|
278
|
+
- Make hooks optional
|
|
279
|
+
|
|
280
|
+
**For Learning Curve**:
|
|
281
|
+
- Provide hook templates
|
|
282
|
+
- Include examples in documentation
|
|
283
|
+
- Create interactive setup wizard
|
|
284
|
+
|
|
285
|
+
**For Configuration**:
|
|
286
|
+
- Provide sensible defaults
|
|
287
|
+
- Auto-generate common hooks
|
|
288
|
+
- Include in `kse adopt` workflow
|
|
289
|
+
|
|
290
|
+
**For Debugging**:
|
|
291
|
+
- Add hook execution logging
|
|
292
|
+
- Provide hook testing commands
|
|
293
|
+
- Clear error messages
|
|
294
|
+
|
|
295
|
+
**For Performance**:
|
|
296
|
+
- Limit hook execution frequency
|
|
297
|
+
- Provide enable/disable toggles
|
|
298
|
+
- Optimize hook logic
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Integration Plan
|
|
303
|
+
|
|
304
|
+
### Phase 1: Foundation (Immediate)
|
|
305
|
+
|
|
306
|
+
**Goal**: Basic hook support in kse
|
|
307
|
+
|
|
308
|
+
**Tasks**:
|
|
309
|
+
1. Add hook configuration to `.kiro/hooks/` directory
|
|
310
|
+
2. Create hook templates for common use cases
|
|
311
|
+
3. Add `kse hooks` command group:
|
|
312
|
+
- `kse hooks list` - List all hooks
|
|
313
|
+
- `kse hooks enable <hook>` - Enable a hook
|
|
314
|
+
- `kse hooks disable <hook>` - Disable a hook
|
|
315
|
+
- `kse hooks test <hook>` - Test a hook
|
|
316
|
+
|
|
317
|
+
**Deliverables**:
|
|
318
|
+
- Hook configuration schema
|
|
319
|
+
- 5-10 pre-built hook templates
|
|
320
|
+
- CLI commands for hook management
|
|
321
|
+
- Basic documentation
|
|
322
|
+
|
|
323
|
+
**Timeline**: 1-2 weeks
|
|
324
|
+
|
|
325
|
+
### Phase 2: Automation (Short-term)
|
|
326
|
+
|
|
327
|
+
**Goal**: Implement high-priority use cases
|
|
328
|
+
|
|
329
|
+
**Tasks**:
|
|
330
|
+
1. Auto-sync on task updates
|
|
331
|
+
2. Context export on completion
|
|
332
|
+
3. Quality gate enforcement
|
|
333
|
+
4. Automatic prompt generation
|
|
334
|
+
|
|
335
|
+
**Deliverables**:
|
|
336
|
+
- 4 production-ready hooks
|
|
337
|
+
- Integration tests
|
|
338
|
+
- User guide with examples
|
|
339
|
+
|
|
340
|
+
**Timeline**: 2-3 weeks
|
|
341
|
+
|
|
342
|
+
### Phase 3: Enhancement (Medium-term)
|
|
343
|
+
|
|
344
|
+
**Goal**: Advanced features and optimization
|
|
345
|
+
|
|
346
|
+
**Tasks**:
|
|
347
|
+
1. Hook execution logging
|
|
348
|
+
2. Performance optimization
|
|
349
|
+
3. Hook marketplace/sharing
|
|
350
|
+
4. Visual hook editor
|
|
351
|
+
|
|
352
|
+
**Deliverables**:
|
|
353
|
+
- Enhanced hook system
|
|
354
|
+
- Performance improvements
|
|
355
|
+
- Community hook repository
|
|
356
|
+
|
|
357
|
+
**Timeline**: 1-2 months
|
|
358
|
+
|
|
359
|
+
### Phase 4: Ecosystem (Long-term)
|
|
360
|
+
|
|
361
|
+
**Goal**: Full ecosystem integration
|
|
362
|
+
|
|
363
|
+
**Tasks**:
|
|
364
|
+
1. Integration with CI/CD
|
|
365
|
+
2. Team collaboration features
|
|
366
|
+
3. Analytics and insights
|
|
367
|
+
4. Third-party integrations
|
|
368
|
+
|
|
369
|
+
**Deliverables**:
|
|
370
|
+
- Complete hook ecosystem
|
|
371
|
+
- Enterprise features
|
|
372
|
+
- Comprehensive analytics
|
|
373
|
+
|
|
374
|
+
**Timeline**: 3-6 months
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## Technical Considerations
|
|
379
|
+
|
|
380
|
+
### Hook Configuration Format
|
|
381
|
+
|
|
382
|
+
```json
|
|
383
|
+
{
|
|
384
|
+
"name": "Hook name",
|
|
385
|
+
"version": "1.0.0",
|
|
386
|
+
"description": "What this hook does",
|
|
387
|
+
"enabled": true,
|
|
388
|
+
"when": {
|
|
389
|
+
"type": "fileEdited | fileCreated | fileDeleted | promptSubmit | agentStop | userTriggered",
|
|
390
|
+
"patterns": ["glob patterns for file events"]
|
|
391
|
+
},
|
|
392
|
+
"then": {
|
|
393
|
+
"type": "askAgent | runCommand",
|
|
394
|
+
"prompt": "For askAgent",
|
|
395
|
+
"command": "For runCommand"
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### Hook Storage
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
.kiro/
|
|
404
|
+
├── hooks/
|
|
405
|
+
│ ├── auto-sync.json
|
|
406
|
+
│ ├── quality-gate.json
|
|
407
|
+
│ ├── prompt-gen.json
|
|
408
|
+
│ └── custom/
|
|
409
|
+
│ └── user-hooks.json
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### Hook Execution
|
|
413
|
+
|
|
414
|
+
1. **Event Detection**: Kiro IDE detects event
|
|
415
|
+
2. **Hook Matching**: Find hooks matching event type and patterns
|
|
416
|
+
3. **Condition Check**: Verify hook is enabled
|
|
417
|
+
4. **Action Execution**: Execute askAgent or runCommand
|
|
418
|
+
5. **Logging**: Log execution result
|
|
419
|
+
6. **Error Handling**: Handle failures gracefully
|
|
420
|
+
|
|
421
|
+
### Security Considerations
|
|
422
|
+
|
|
423
|
+
1. **Command Validation**: Validate shell commands before execution
|
|
424
|
+
2. **Path Restrictions**: Limit file access to project directory
|
|
425
|
+
3. **User Confirmation**: Require confirmation for destructive actions
|
|
426
|
+
4. **Audit Logging**: Log all hook executions
|
|
427
|
+
5. **Sandboxing**: Execute commands in restricted environment
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## Recommendations
|
|
432
|
+
|
|
433
|
+
### Immediate Actions
|
|
434
|
+
|
|
435
|
+
1. ✅ **Integrate agent hooks** - High value, low risk
|
|
436
|
+
2. ✅ **Implement watch mode for non-Kiro tools** - Ensure cross-tool parity
|
|
437
|
+
3. ✅ **Start with Phase 1** - Foundation and templates
|
|
438
|
+
4. ✅ **Focus on high-priority use cases** - Maximum impact
|
|
439
|
+
5. ✅ **Provide opt-in defaults** - Easy adoption
|
|
440
|
+
|
|
441
|
+
### Cross-Tool Automation Strategy
|
|
442
|
+
|
|
443
|
+
To address the Kiro IDE limitation, we will implement a **three-tier automation strategy**:
|
|
444
|
+
|
|
445
|
+
#### Tier 1: Kiro IDE (Native Hooks)
|
|
446
|
+
- **Mechanism**: Native agent hooks
|
|
447
|
+
- **Experience**: Seamless, automatic
|
|
448
|
+
- **Setup**: One-time configuration
|
|
449
|
+
- **Maintenance**: Minimal
|
|
450
|
+
|
|
451
|
+
#### Tier 2: Other IDEs (Watch Mode)
|
|
452
|
+
- **Mechanism**: File system watcher + command execution
|
|
453
|
+
- **Experience**: Near-automatic (background process)
|
|
454
|
+
- **Setup**: `kse watch start`
|
|
455
|
+
- **Maintenance**: Occasional restart
|
|
456
|
+
|
|
457
|
+
#### Tier 3: Manual Workflows
|
|
458
|
+
- **Mechanism**: Documented checklists
|
|
459
|
+
- **Experience**: Manual but guided
|
|
460
|
+
- **Setup**: Read documentation
|
|
461
|
+
- **Maintenance**: Follow checklist
|
|
462
|
+
|
|
463
|
+
### Feature Parity Table
|
|
464
|
+
|
|
465
|
+
| Feature | Kiro IDE | Watch Mode | Manual |
|
|
466
|
+
|---------|----------|------------|--------|
|
|
467
|
+
| **Auto-sync on task update** | ✅ Automatic | ✅ Automatic | ⚠️ Manual |
|
|
468
|
+
| **Context export on completion** | ✅ Automatic | ✅ Automatic | ⚠️ Manual |
|
|
469
|
+
| **Quality gate enforcement** | ✅ Automatic | ✅ Automatic | ⚠️ Manual |
|
|
470
|
+
| **Prompt regeneration** | ✅ Automatic | ✅ Automatic | ⚠️ Manual |
|
|
471
|
+
| **Test execution** | ✅ Automatic | ✅ Automatic | ⚠️ Manual |
|
|
472
|
+
| **Setup complexity** | Low | Medium | None |
|
|
473
|
+
| **Maintenance** | Minimal | Low | None |
|
|
474
|
+
| **Performance impact** | None | Low | None |
|
|
475
|
+
|
|
476
|
+
### Implementation Priority
|
|
477
|
+
|
|
478
|
+
**Phase 1A: Kiro IDE Hooks** (1-2 weeks)
|
|
479
|
+
- Implement native agent hooks
|
|
480
|
+
- Create 5 core templates
|
|
481
|
+
- Add CLI management commands
|
|
482
|
+
|
|
483
|
+
**Phase 1B: Watch Mode** (1-2 weeks, parallel)
|
|
484
|
+
- Implement file system watcher
|
|
485
|
+
- Support same 5 use cases as hooks
|
|
486
|
+
- Add background process management
|
|
487
|
+
|
|
488
|
+
**Phase 1C: Documentation** (1 week)
|
|
489
|
+
- Manual workflow checklists
|
|
490
|
+
- Tool-specific guides
|
|
491
|
+
- Migration documentation
|
|
492
|
+
|
|
493
|
+
### Success Criteria
|
|
494
|
+
|
|
495
|
+
**Phase 1 Success**:
|
|
496
|
+
- [ ] Hook configuration system implemented
|
|
497
|
+
- [ ] 5+ hook templates available
|
|
498
|
+
- [ ] CLI commands working
|
|
499
|
+
- [ ] Documentation complete
|
|
500
|
+
|
|
501
|
+
**Phase 2 Success**:
|
|
502
|
+
- [ ] 4 production hooks deployed
|
|
503
|
+
- [ ] 50%+ reduction in manual commands
|
|
504
|
+
- [ ] Positive user feedback
|
|
505
|
+
- [ ] No performance issues
|
|
506
|
+
|
|
507
|
+
**Overall Success**:
|
|
508
|
+
- [ ] 80%+ user adoption rate
|
|
509
|
+
- [ ] 40%+ productivity improvement
|
|
510
|
+
- [ ] 90%+ user satisfaction
|
|
511
|
+
- [ ] Zero critical bugs
|
|
512
|
+
|
|
513
|
+
### Risk Mitigation
|
|
514
|
+
|
|
515
|
+
**Risk**: Users don't adopt hooks
|
|
516
|
+
**Mitigation**: Provide clear value, easy setup, good defaults
|
|
517
|
+
|
|
518
|
+
**Risk**: Performance degradation
|
|
519
|
+
**Mitigation**: Optimize execution, provide toggles, monitor metrics
|
|
520
|
+
|
|
521
|
+
**Risk**: Configuration complexity
|
|
522
|
+
**Mitigation**: Templates, wizard, sensible defaults
|
|
523
|
+
|
|
524
|
+
**Risk**: Debugging difficulties
|
|
525
|
+
**Mitigation**: Logging, testing commands, clear errors
|
|
526
|
+
|
|
527
|
+
---
|
|
528
|
+
|
|
529
|
+
## Watch Mode for Non-Kiro Tools
|
|
530
|
+
|
|
531
|
+
### Overview
|
|
532
|
+
|
|
533
|
+
Watch mode provides automation for developers not using Kiro IDE. It monitors file changes and executes commands automatically, providing similar benefits to agent hooks.
|
|
534
|
+
|
|
535
|
+
### Architecture
|
|
536
|
+
|
|
537
|
+
```
|
|
538
|
+
┌─────────────────────────────────────┐
|
|
539
|
+
│ File System Watcher │
|
|
540
|
+
│ (chokidar - cross-platform) │
|
|
541
|
+
└──────────────┬──────────────────────┘
|
|
542
|
+
│
|
|
543
|
+
▼
|
|
544
|
+
┌─────────────────────────────────────┐
|
|
545
|
+
│ Event Debouncer │
|
|
546
|
+
│ (prevent excessive triggers) │
|
|
547
|
+
└──────────────┬──────────────────────┘
|
|
548
|
+
│
|
|
549
|
+
▼
|
|
550
|
+
┌─────────────────────────────────────┐
|
|
551
|
+
│ Command Executor │
|
|
552
|
+
│ (run kse commands) │
|
|
553
|
+
└──────────────┬──────────────────────┘
|
|
554
|
+
│
|
|
555
|
+
▼
|
|
556
|
+
┌─────────────────────────────────────┐
|
|
557
|
+
│ Execution Logger │
|
|
558
|
+
│ (.kiro/watch/execution.log) │
|
|
559
|
+
└─────────────────────────────────────┘
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
### Usage
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
# Start watch mode
|
|
566
|
+
kse watch start
|
|
567
|
+
|
|
568
|
+
# Start with specific patterns
|
|
569
|
+
kse watch start --patterns="**/tasks.md,**/requirements.md"
|
|
570
|
+
|
|
571
|
+
# Check status
|
|
572
|
+
kse watch status
|
|
573
|
+
|
|
574
|
+
# View logs
|
|
575
|
+
kse watch logs
|
|
576
|
+
|
|
577
|
+
# Stop watch mode
|
|
578
|
+
kse watch stop
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
### Configuration
|
|
582
|
+
|
|
583
|
+
Watch mode uses `.kiro/watch-config.json`:
|
|
584
|
+
|
|
585
|
+
```json
|
|
586
|
+
{
|
|
587
|
+
"enabled": true,
|
|
588
|
+
"patterns": [
|
|
589
|
+
"**/tasks.md",
|
|
590
|
+
"**/.kiro/specs/*/requirements.md",
|
|
591
|
+
"**/.kiro/specs/*/design.md"
|
|
592
|
+
],
|
|
593
|
+
"actions": {
|
|
594
|
+
"**/tasks.md": {
|
|
595
|
+
"command": "kse workspace sync",
|
|
596
|
+
"debounce": 2000
|
|
597
|
+
},
|
|
598
|
+
"**/requirements.md": {
|
|
599
|
+
"command": "kse prompt generate ${spec} ${task}",
|
|
600
|
+
"debounce": 5000
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
"logging": {
|
|
604
|
+
"enabled": true,
|
|
605
|
+
"level": "info",
|
|
606
|
+
"maxSize": "10MB"
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
### Equivalent Functionality
|
|
612
|
+
|
|
613
|
+
| Kiro Hook | Watch Mode Equivalent |
|
|
614
|
+
|-----------|----------------------|
|
|
615
|
+
| `fileEdited` on tasks.md | Watch `**/tasks.md` → run sync |
|
|
616
|
+
| `agentStop` | Watch completion marker → export context |
|
|
617
|
+
| `promptSubmit` | Manual trigger or pre-commit hook |
|
|
618
|
+
| `fileCreated` | Watch new files → run initialization |
|
|
619
|
+
|
|
620
|
+
### Limitations
|
|
621
|
+
|
|
622
|
+
- **No `promptSubmit` equivalent**: Cannot detect when user sends message to AI
|
|
623
|
+
- **No `agentStop` equivalent**: Cannot detect when AI completes work
|
|
624
|
+
- **Workaround**: Use manual commands or git hooks for these cases
|
|
625
|
+
|
|
626
|
+
### Performance
|
|
627
|
+
|
|
628
|
+
- **Memory**: ~30-50MB
|
|
629
|
+
- **CPU**: < 1% idle, < 5% during file changes
|
|
630
|
+
- **Latency**: 500ms-2s from file change to command execution
|
|
631
|
+
- **Scalability**: Handles 100+ files without issues
|
|
632
|
+
|
|
633
|
+
---
|
|
634
|
+
|
|
635
|
+
## Manual Workflows for All Tools
|
|
636
|
+
|
|
637
|
+
### Workflow 1: Task Update and Sync
|
|
638
|
+
|
|
639
|
+
**Without Automation**:
|
|
640
|
+
```bash
|
|
641
|
+
# 1. Edit tasks.md
|
|
642
|
+
vim .kiro/specs/my-spec/tasks.md
|
|
643
|
+
|
|
644
|
+
# 2. Save file
|
|
645
|
+
|
|
646
|
+
# 3. Manually sync
|
|
647
|
+
kse workspace sync
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
**Time**: ~30 seconds per update
|
|
651
|
+
|
|
652
|
+
**With Kiro Hooks**: Automatic (0 seconds)
|
|
653
|
+
**With Watch Mode**: Automatic (0 seconds)
|
|
654
|
+
|
|
655
|
+
### Workflow 2: Context Export
|
|
656
|
+
|
|
657
|
+
**Without Automation**:
|
|
658
|
+
```bash
|
|
659
|
+
# 1. Complete work
|
|
660
|
+
|
|
661
|
+
# 2. Remember to export
|
|
662
|
+
kse context export my-spec
|
|
663
|
+
|
|
664
|
+
# 3. Copy to other tool
|
|
665
|
+
cat .kiro/specs/my-spec/context-export.md
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
**Time**: ~1 minute per export
|
|
669
|
+
|
|
670
|
+
**With Kiro Hooks**: Automatic on `agentStop`
|
|
671
|
+
**With Watch Mode**: Automatic on completion marker
|
|
672
|
+
|
|
673
|
+
### Workflow 3: Quality Gate
|
|
674
|
+
|
|
675
|
+
**Without Automation**:
|
|
676
|
+
```bash
|
|
677
|
+
# 1. Before starting work, remember to check
|
|
678
|
+
kse doctor
|
|
679
|
+
|
|
680
|
+
# 2. Check status
|
|
681
|
+
kse status
|
|
682
|
+
|
|
683
|
+
# 3. Start work if all good
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
**Time**: ~30 seconds per session
|
|
687
|
+
|
|
688
|
+
**With Kiro Hooks**: Automatic on `promptSubmit`
|
|
689
|
+
**With Watch Mode**: Manual (no equivalent)
|
|
690
|
+
|
|
691
|
+
### Workflow 4: Prompt Regeneration
|
|
692
|
+
|
|
693
|
+
**Without Automation**:
|
|
694
|
+
```bash
|
|
695
|
+
# 1. Edit requirements.md or design.md
|
|
696
|
+
|
|
697
|
+
# 2. Remember which tasks are affected
|
|
698
|
+
|
|
699
|
+
# 3. Regenerate prompts
|
|
700
|
+
kse prompt generate my-spec 1.1
|
|
701
|
+
kse prompt generate my-spec 1.2
|
|
702
|
+
# ... repeat for each task
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
**Time**: ~2-5 minutes for multiple tasks
|
|
706
|
+
|
|
707
|
+
**With Kiro Hooks**: Automatic
|
|
708
|
+
**With Watch Mode**: Automatic
|
|
709
|
+
|
|
710
|
+
### Time Savings Summary
|
|
711
|
+
|
|
712
|
+
| Workflow | Manual | Kiro Hooks | Watch Mode | Savings |
|
|
713
|
+
|----------|--------|------------|------------|---------|
|
|
714
|
+
| Task sync | 30s | 0s | 0s | 100% |
|
|
715
|
+
| Context export | 60s | 0s | 0s | 100% |
|
|
716
|
+
| Quality gate | 30s | 0s | 30s | 0-100% |
|
|
717
|
+
| Prompt regen | 180s | 0s | 0s | 100% |
|
|
718
|
+
| **Total/day** | ~20min | ~0min | ~2min | 80-100% |
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
## Conclusion
|
|
723
|
+
|
|
724
|
+
Agent hooks integration is **highly recommended** for kiro-spec-engine. The benefits significantly outweigh the costs:
|
|
725
|
+
|
|
726
|
+
**Benefits**:
|
|
727
|
+
- 30-50% reduction in manual commands
|
|
728
|
+
- Improved team coordination
|
|
729
|
+
- Enforced quality standards
|
|
730
|
+
- Better user experience
|
|
731
|
+
|
|
732
|
+
**Costs**:
|
|
733
|
+
- 1-2 weeks initial development
|
|
734
|
+
- Kiro IDE dependency (mitigated by fallbacks)
|
|
735
|
+
- Configuration overhead (mitigated by templates)
|
|
736
|
+
|
|
737
|
+
**Recommendation**: ✅ **Proceed with integration**
|
|
738
|
+
|
|
739
|
+
Start with Phase 1 (foundation) to validate the approach, then expand to Phase 2 (automation) based on user feedback.
|
|
740
|
+
|
|
741
|
+
---
|
|
742
|
+
|
|
743
|
+
## Next Steps
|
|
744
|
+
|
|
745
|
+
1. **Review this analysis** with stakeholders
|
|
746
|
+
2. **Prioritize use cases** based on user needs
|
|
747
|
+
3. **Create detailed technical spec** for Phase 1
|
|
748
|
+
4. **Implement foundation** (Phase 1)
|
|
749
|
+
5. **Gather user feedback** and iterate
|
|
750
|
+
|
|
751
|
+
---
|
|
752
|
+
|
|
753
|
+
## Appendix: Example Hooks
|
|
754
|
+
|
|
755
|
+
### Example 1: Auto-Sync Hook
|
|
756
|
+
|
|
757
|
+
```json
|
|
758
|
+
{
|
|
759
|
+
"name": "Auto-sync on task update",
|
|
760
|
+
"version": "1.0.0",
|
|
761
|
+
"description": "Automatically sync workspace when tasks.md is updated",
|
|
762
|
+
"enabled": true,
|
|
763
|
+
"when": {
|
|
764
|
+
"type": "fileEdited",
|
|
765
|
+
"patterns": ["**/.kiro/specs/*/tasks.md"]
|
|
766
|
+
},
|
|
767
|
+
"then": {
|
|
768
|
+
"type": "askAgent",
|
|
769
|
+
"prompt": "Tasks were updated. Run 'kse workspace sync' to synchronize with the team."
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
### Example 2: Quality Gate Hook
|
|
775
|
+
|
|
776
|
+
```json
|
|
777
|
+
{
|
|
778
|
+
"name": "Quality gate check",
|
|
779
|
+
"version": "1.0.0",
|
|
780
|
+
"description": "Run quality checks before starting work",
|
|
781
|
+
"enabled": true,
|
|
782
|
+
"when": {
|
|
783
|
+
"type": "promptSubmit"
|
|
784
|
+
},
|
|
785
|
+
"then": {
|
|
786
|
+
"type": "runCommand",
|
|
787
|
+
"command": "kse doctor"
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
```
|
|
791
|
+
|
|
792
|
+
### Example 3: Context Export Hook
|
|
793
|
+
|
|
794
|
+
```json
|
|
795
|
+
{
|
|
796
|
+
"name": "Export context on completion",
|
|
797
|
+
"version": "1.0.0",
|
|
798
|
+
"description": "Export context when agent work is complete",
|
|
799
|
+
"enabled": false,
|
|
800
|
+
"when": {
|
|
801
|
+
"type": "agentStop"
|
|
802
|
+
},
|
|
803
|
+
"then": {
|
|
804
|
+
"type": "runCommand",
|
|
805
|
+
"command": "kse context export $(kse current-spec)"
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
---
|
|
811
|
+
|
|
812
|
+
**Document Version**: 1.0
|
|
813
|
+
**Last Updated**: 2026-01-23
|
|
814
|
+
**Status**: Ready for Review
|
|
815
|
+
**Next Review**: After Phase 1 implementation
|