kiro-kit 0.2.2 → 0.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/README.md +35 -0
- package/dist/index.js +771 -116
- package/dist/index.js.map +1 -1
- package/dist/presets/backend/hooks/api-schema-validate.js +75 -0
- package/dist/presets/backend/hooks/endpoint-test-coverage.js +77 -0
- package/dist/presets/backend/hooks/migration-safety-check.js +68 -0
- package/dist/presets/backend/manifest.json +48 -35
- package/dist/presets/backend/powers.json +40 -0
- package/dist/presets/backend/skills/kiro/references/autonomy-modes.md +26 -0
- package/dist/presets/backend/skills/kiro/references/best-practices.md +48 -0
- package/dist/presets/backend/skills/kiro/references/commands.md +61 -0
- package/dist/presets/backend/skills/kiro/references/configuration.md +41 -0
- package/dist/presets/backend/skills/kiro/references/getting-started.md +45 -0
- package/dist/presets/backend/skills/kiro/references/hooks.md +99 -0
- package/dist/presets/backend/skills/kiro/references/mcp-integration.md +53 -0
- package/dist/presets/backend/skills/kiro/references/skills.md +55 -0
- package/dist/presets/backend/skills/kiro/references/specs-workflow.md +62 -0
- package/dist/presets/backend/skills/kiro/references/steering-files.md +84 -0
- package/dist/presets/backend/skills/kiro/references/troubleshooting.md +42 -0
- package/dist/presets/backend/skills/kiro/skill.md +194 -0
- package/dist/presets/data-ai/hooks/data-drift-check.js +77 -0
- package/dist/presets/data-ai/hooks/experiment-log.js +87 -0
- package/dist/presets/data-ai/hooks/model-card-update.js +99 -0
- package/dist/presets/data-ai/manifest.json +48 -35
- package/dist/presets/data-ai/powers.json +34 -0
- package/dist/presets/data-ai/skills/kiro/references/autonomy-modes.md +26 -0
- package/dist/presets/data-ai/skills/kiro/references/best-practices.md +48 -0
- package/dist/presets/data-ai/skills/kiro/references/commands.md +61 -0
- package/dist/presets/data-ai/skills/kiro/references/configuration.md +41 -0
- package/dist/presets/data-ai/skills/kiro/references/getting-started.md +45 -0
- package/dist/presets/data-ai/skills/kiro/references/hooks.md +99 -0
- package/dist/presets/data-ai/skills/kiro/references/mcp-integration.md +53 -0
- package/dist/presets/data-ai/skills/kiro/references/skills.md +55 -0
- package/dist/presets/data-ai/skills/kiro/references/specs-workflow.md +62 -0
- package/dist/presets/data-ai/skills/kiro/references/steering-files.md +84 -0
- package/dist/presets/data-ai/skills/kiro/references/troubleshooting.md +42 -0
- package/dist/presets/data-ai/skills/kiro/skill.md +194 -0
- package/dist/presets/devops/hooks/container-scan.js +73 -0
- package/dist/presets/devops/hooks/cost-estimation.js +69 -0
- package/dist/presets/devops/hooks/terraform-plan-review.js +67 -0
- package/dist/presets/devops/manifest.json +48 -35
- package/dist/presets/devops/powers.json +40 -0
- package/dist/presets/devops/skills/kiro/references/autonomy-modes.md +26 -0
- package/dist/presets/devops/skills/kiro/references/best-practices.md +48 -0
- package/dist/presets/devops/skills/kiro/references/commands.md +61 -0
- package/dist/presets/devops/skills/kiro/references/configuration.md +41 -0
- package/dist/presets/devops/skills/kiro/references/getting-started.md +45 -0
- package/dist/presets/devops/skills/kiro/references/hooks.md +99 -0
- package/dist/presets/devops/skills/kiro/references/mcp-integration.md +53 -0
- package/dist/presets/devops/skills/kiro/references/skills.md +55 -0
- package/dist/presets/devops/skills/kiro/references/specs-workflow.md +62 -0
- package/dist/presets/devops/skills/kiro/references/steering-files.md +84 -0
- package/dist/presets/devops/skills/kiro/references/troubleshooting.md +42 -0
- package/dist/presets/devops/skills/kiro/skill.md +194 -0
- package/dist/presets/frontend/commands/test.md +1 -1
- package/dist/presets/frontend/hooks/accessibility-check.js +76 -0
- package/dist/presets/frontend/hooks/bundle-size-guard.js +71 -0
- package/dist/presets/frontend/hooks/component-test-reminder.js +71 -0
- package/dist/presets/frontend/manifest.json +48 -35
- package/dist/presets/frontend/powers.json +34 -0
- package/dist/presets/frontend/skills/kiro/references/autonomy-modes.md +26 -0
- package/dist/presets/frontend/skills/kiro/references/best-practices.md +48 -0
- package/dist/presets/frontend/skills/kiro/references/commands.md +61 -0
- package/dist/presets/frontend/skills/kiro/references/configuration.md +41 -0
- package/dist/presets/frontend/skills/kiro/references/getting-started.md +45 -0
- package/dist/presets/frontend/skills/kiro/references/hooks.md +99 -0
- package/dist/presets/frontend/skills/kiro/references/mcp-integration.md +53 -0
- package/dist/presets/frontend/skills/kiro/references/skills.md +55 -0
- package/dist/presets/frontend/skills/kiro/references/specs-workflow.md +62 -0
- package/dist/presets/frontend/skills/kiro/references/steering-files.md +84 -0
- package/dist/presets/frontend/skills/kiro/references/troubleshooting.md +42 -0
- package/dist/presets/frontend/skills/kiro/skill.md +194 -0
- package/dist/presets/fullstack/hooks/api-client-gen.js +69 -0
- package/dist/presets/fullstack/hooks/deployment-readiness.js +73 -0
- package/dist/presets/fullstack/hooks/type-sync-check.js +69 -0
- package/dist/presets/fullstack/manifest.json +48 -35
- package/dist/presets/fullstack/powers.json +46 -0
- package/dist/presets/fullstack/skills/kiro/references/autonomy-modes.md +26 -0
- package/dist/presets/fullstack/skills/kiro/references/best-practices.md +48 -0
- package/dist/presets/fullstack/skills/kiro/references/commands.md +61 -0
- package/dist/presets/fullstack/skills/kiro/references/configuration.md +41 -0
- package/dist/presets/fullstack/skills/kiro/references/getting-started.md +45 -0
- package/dist/presets/fullstack/skills/kiro/references/hooks.md +99 -0
- package/dist/presets/fullstack/skills/kiro/references/mcp-integration.md +53 -0
- package/dist/presets/fullstack/skills/kiro/references/skills.md +55 -0
- package/dist/presets/fullstack/skills/kiro/references/specs-workflow.md +62 -0
- package/dist/presets/fullstack/skills/kiro/references/steering-files.md +84 -0
- package/dist/presets/fullstack/skills/kiro/references/troubleshooting.md +42 -0
- package/dist/presets/fullstack/skills/kiro/skill.md +194 -0
- package/dist/presets/mobile/hooks/asset-optimization.js +58 -0
- package/dist/presets/mobile/hooks/platform-parity-check.js +73 -0
- package/dist/presets/mobile/hooks/release-checklist.js +83 -0
- package/dist/presets/mobile/manifest.json +48 -35
- package/dist/presets/mobile/powers.json +34 -0
- package/dist/presets/mobile/skills/kiro/references/autonomy-modes.md +26 -0
- package/dist/presets/mobile/skills/kiro/references/best-practices.md +48 -0
- package/dist/presets/mobile/skills/kiro/references/commands.md +61 -0
- package/dist/presets/mobile/skills/kiro/references/configuration.md +41 -0
- package/dist/presets/mobile/skills/kiro/references/getting-started.md +45 -0
- package/dist/presets/mobile/skills/kiro/references/hooks.md +99 -0
- package/dist/presets/mobile/skills/kiro/references/mcp-integration.md +53 -0
- package/dist/presets/mobile/skills/kiro/references/skills.md +55 -0
- package/dist/presets/mobile/skills/kiro/references/specs-workflow.md +62 -0
- package/dist/presets/mobile/skills/kiro/references/steering-files.md +84 -0
- package/dist/presets/mobile/skills/kiro/references/troubleshooting.md +42 -0
- package/dist/presets/mobile/skills/kiro/skill.md +194 -0
- package/package.json +1 -1
- package/dist/presets/backend/skills/claude-code/references/advanced-features.md +0 -399
- package/dist/presets/backend/skills/claude-code/references/agent-skills.md +0 -399
- package/dist/presets/backend/skills/claude-code/references/api-reference.md +0 -498
- package/dist/presets/backend/skills/claude-code/references/best-practices.md +0 -447
- package/dist/presets/backend/skills/claude-code/references/cicd-integration.md +0 -428
- package/dist/presets/backend/skills/claude-code/references/configuration.md +0 -480
- package/dist/presets/backend/skills/claude-code/references/enterprise-features.md +0 -472
- package/dist/presets/backend/skills/claude-code/references/getting-started.md +0 -252
- package/dist/presets/backend/skills/claude-code/references/hooks-and-plugins.md +0 -441
- package/dist/presets/backend/skills/claude-code/references/ide-integration.md +0 -316
- package/dist/presets/backend/skills/claude-code/references/mcp-integration.md +0 -386
- package/dist/presets/backend/skills/claude-code/references/slash-commands.md +0 -489
- package/dist/presets/backend/skills/claude-code/references/troubleshooting.md +0 -456
- package/dist/presets/backend/skills/claude-code/skill.md +0 -194
- package/dist/presets/data-ai/skills/claude-code/references/advanced-features.md +0 -399
- package/dist/presets/data-ai/skills/claude-code/references/agent-skills.md +0 -399
- package/dist/presets/data-ai/skills/claude-code/references/api-reference.md +0 -498
- package/dist/presets/data-ai/skills/claude-code/references/best-practices.md +0 -447
- package/dist/presets/data-ai/skills/claude-code/references/cicd-integration.md +0 -428
- package/dist/presets/data-ai/skills/claude-code/references/configuration.md +0 -480
- package/dist/presets/data-ai/skills/claude-code/references/enterprise-features.md +0 -472
- package/dist/presets/data-ai/skills/claude-code/references/getting-started.md +0 -252
- package/dist/presets/data-ai/skills/claude-code/references/hooks-and-plugins.md +0 -441
- package/dist/presets/data-ai/skills/claude-code/references/ide-integration.md +0 -316
- package/dist/presets/data-ai/skills/claude-code/references/mcp-integration.md +0 -386
- package/dist/presets/data-ai/skills/claude-code/references/slash-commands.md +0 -489
- package/dist/presets/data-ai/skills/claude-code/references/troubleshooting.md +0 -456
- package/dist/presets/data-ai/skills/claude-code/skill.md +0 -194
- package/dist/presets/devops/skills/claude-code/references/advanced-features.md +0 -399
- package/dist/presets/devops/skills/claude-code/references/agent-skills.md +0 -399
- package/dist/presets/devops/skills/claude-code/references/api-reference.md +0 -498
- package/dist/presets/devops/skills/claude-code/references/best-practices.md +0 -447
- package/dist/presets/devops/skills/claude-code/references/cicd-integration.md +0 -428
- package/dist/presets/devops/skills/claude-code/references/configuration.md +0 -480
- package/dist/presets/devops/skills/claude-code/references/enterprise-features.md +0 -472
- package/dist/presets/devops/skills/claude-code/references/getting-started.md +0 -252
- package/dist/presets/devops/skills/claude-code/references/hooks-and-plugins.md +0 -441
- package/dist/presets/devops/skills/claude-code/references/ide-integration.md +0 -316
- package/dist/presets/devops/skills/claude-code/references/mcp-integration.md +0 -386
- package/dist/presets/devops/skills/claude-code/references/slash-commands.md +0 -489
- package/dist/presets/devops/skills/claude-code/references/troubleshooting.md +0 -456
- package/dist/presets/devops/skills/claude-code/skill.md +0 -194
- package/dist/presets/frontend/skills/claude-code/references/advanced-features.md +0 -399
- package/dist/presets/frontend/skills/claude-code/references/agent-skills.md +0 -399
- package/dist/presets/frontend/skills/claude-code/references/api-reference.md +0 -498
- package/dist/presets/frontend/skills/claude-code/references/best-practices.md +0 -447
- package/dist/presets/frontend/skills/claude-code/references/cicd-integration.md +0 -428
- package/dist/presets/frontend/skills/claude-code/references/configuration.md +0 -480
- package/dist/presets/frontend/skills/claude-code/references/enterprise-features.md +0 -472
- package/dist/presets/frontend/skills/claude-code/references/getting-started.md +0 -252
- package/dist/presets/frontend/skills/claude-code/references/hooks-and-plugins.md +0 -441
- package/dist/presets/frontend/skills/claude-code/references/ide-integration.md +0 -316
- package/dist/presets/frontend/skills/claude-code/references/mcp-integration.md +0 -386
- package/dist/presets/frontend/skills/claude-code/references/slash-commands.md +0 -489
- package/dist/presets/frontend/skills/claude-code/references/troubleshooting.md +0 -456
- package/dist/presets/frontend/skills/claude-code/skill.md +0 -194
- package/dist/presets/fullstack/skills/claude-code/references/advanced-features.md +0 -399
- package/dist/presets/fullstack/skills/claude-code/references/agent-skills.md +0 -399
- package/dist/presets/fullstack/skills/claude-code/references/api-reference.md +0 -498
- package/dist/presets/fullstack/skills/claude-code/references/best-practices.md +0 -447
- package/dist/presets/fullstack/skills/claude-code/references/cicd-integration.md +0 -428
- package/dist/presets/fullstack/skills/claude-code/references/configuration.md +0 -480
- package/dist/presets/fullstack/skills/claude-code/references/enterprise-features.md +0 -472
- package/dist/presets/fullstack/skills/claude-code/references/getting-started.md +0 -252
- package/dist/presets/fullstack/skills/claude-code/references/hooks-and-plugins.md +0 -441
- package/dist/presets/fullstack/skills/claude-code/references/ide-integration.md +0 -316
- package/dist/presets/fullstack/skills/claude-code/references/mcp-integration.md +0 -386
- package/dist/presets/fullstack/skills/claude-code/references/slash-commands.md +0 -489
- package/dist/presets/fullstack/skills/claude-code/references/troubleshooting.md +0 -456
- package/dist/presets/fullstack/skills/claude-code/skill.md +0 -194
- package/dist/presets/mobile/skills/claude-code/references/advanced-features.md +0 -399
- package/dist/presets/mobile/skills/claude-code/references/agent-skills.md +0 -399
- package/dist/presets/mobile/skills/claude-code/references/api-reference.md +0 -498
- package/dist/presets/mobile/skills/claude-code/references/best-practices.md +0 -447
- package/dist/presets/mobile/skills/claude-code/references/cicd-integration.md +0 -428
- package/dist/presets/mobile/skills/claude-code/references/configuration.md +0 -480
- package/dist/presets/mobile/skills/claude-code/references/enterprise-features.md +0 -472
- package/dist/presets/mobile/skills/claude-code/references/getting-started.md +0 -252
- package/dist/presets/mobile/skills/claude-code/references/hooks-and-plugins.md +0 -441
- package/dist/presets/mobile/skills/claude-code/references/ide-integration.md +0 -316
- package/dist/presets/mobile/skills/claude-code/references/mcp-integration.md +0 -386
- package/dist/presets/mobile/skills/claude-code/references/slash-commands.md +0 -489
- package/dist/presets/mobile/skills/claude-code/references/troubleshooting.md +0 -456
- package/dist/presets/mobile/skills/claude-code/skill.md +0 -194
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Steering Files
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Steering files provide additional context and instructions to the AI agent. They live in `.kiro/steering/` and influence all interactions.
|
|
6
|
+
|
|
7
|
+
## Inclusion Modes
|
|
8
|
+
|
|
9
|
+
### Always Included (default)
|
|
10
|
+
```markdown
|
|
11
|
+
---
|
|
12
|
+
inclusion: always
|
|
13
|
+
description: Project coding standards
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
Your instructions here...
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Conditional (fileMatch)
|
|
20
|
+
Only included when matching files are read into context:
|
|
21
|
+
```markdown
|
|
22
|
+
---
|
|
23
|
+
inclusion: fileMatch
|
|
24
|
+
fileMatchPattern: "*.test.ts"
|
|
25
|
+
description: Testing conventions
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
Your testing instructions here...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Manual
|
|
32
|
+
Only included when user explicitly references via `#` in chat:
|
|
33
|
+
```markdown
|
|
34
|
+
---
|
|
35
|
+
inclusion: manual
|
|
36
|
+
description: Database migration guide
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
Your migration guide here...
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Front-Matter Schema
|
|
43
|
+
|
|
44
|
+
Required fields:
|
|
45
|
+
- `inclusion`: "always" | "fileMatch" | "manual"
|
|
46
|
+
- `description`: Brief description of the steering file
|
|
47
|
+
|
|
48
|
+
Optional fields:
|
|
49
|
+
- `fileMatchPattern`: Glob pattern (required for fileMatch inclusion)
|
|
50
|
+
|
|
51
|
+
## Best Practices
|
|
52
|
+
|
|
53
|
+
- Keep steering files focused on one topic
|
|
54
|
+
- Use "always" sparingly to avoid context bloat
|
|
55
|
+
- Use "fileMatch" for language/framework-specific conventions
|
|
56
|
+
- Use "manual" for reference material not needed every time
|
|
57
|
+
- Include file references with `#[[file:relative/path]]` syntax
|
|
58
|
+
|
|
59
|
+
## Examples
|
|
60
|
+
|
|
61
|
+
### Code Standards
|
|
62
|
+
```markdown
|
|
63
|
+
---
|
|
64
|
+
inclusion: always
|
|
65
|
+
description: TypeScript coding standards
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
- Use strict mode, no `any` types
|
|
69
|
+
- Prefer interfaces for props, types for unions
|
|
70
|
+
- Use Zod for runtime validation
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### API Conventions (conditional)
|
|
74
|
+
```markdown
|
|
75
|
+
---
|
|
76
|
+
inclusion: fileMatch
|
|
77
|
+
fileMatchPattern: "**/api/**/*.ts"
|
|
78
|
+
description: API route conventions
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
- Use parameterized queries
|
|
82
|
+
- Validate input with Zod
|
|
83
|
+
- Return consistent error format
|
|
84
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
## Common Issues
|
|
4
|
+
|
|
5
|
+
### MCP Server Not Starting
|
|
6
|
+
- Verify `uvx` is installed: run `uvx --version`
|
|
7
|
+
- Check mcp.json syntax (valid JSON)
|
|
8
|
+
- Ensure environment variables are set
|
|
9
|
+
- Check Kiro's MCP Server view for error logs
|
|
10
|
+
- Try restarting from command palette
|
|
11
|
+
|
|
12
|
+
### Steering Files Not Loading
|
|
13
|
+
- Verify front-matter has correct `inclusion` field
|
|
14
|
+
- Check file is in `.kiro/steering/` directory
|
|
15
|
+
- For fileMatch, verify pattern matches target files
|
|
16
|
+
- Ensure no YAML syntax errors in front-matter
|
|
17
|
+
|
|
18
|
+
### Skills Not Activating
|
|
19
|
+
- Check skill.md has valid front-matter (name, description)
|
|
20
|
+
- Verify skill directory is in `.kiro/skills/`
|
|
21
|
+
- Ensure description contains relevant trigger keywords
|
|
22
|
+
- Try referencing the skill explicitly
|
|
23
|
+
|
|
24
|
+
### Hooks Not Triggering
|
|
25
|
+
- Verify hook JSON schema is valid
|
|
26
|
+
- Check event type matches expected trigger
|
|
27
|
+
- For file events, verify patterns match file paths
|
|
28
|
+
- Check command exists and is executable
|
|
29
|
+
|
|
30
|
+
### Performance Issues
|
|
31
|
+
- Reduce number of "always" steering files
|
|
32
|
+
- Keep skill references focused and concise
|
|
33
|
+
- Disable unused MCP servers
|
|
34
|
+
- Clear workspace cache if needed
|
|
35
|
+
|
|
36
|
+
## Debug Steps
|
|
37
|
+
|
|
38
|
+
1. Check Kiro output panel for errors
|
|
39
|
+
2. Verify `.kiro/` directory structure
|
|
40
|
+
3. Validate JSON/YAML syntax in config files
|
|
41
|
+
4. Try disabling extensions one by one
|
|
42
|
+
5. Restart Kiro if issues persist
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kiro
|
|
3
|
+
description: >-
|
|
4
|
+
Use when users ask about Kiro IDE features, setup, configuration,
|
|
5
|
+
troubleshooting, specs, steering files, MCP servers, hooks, skills,
|
|
6
|
+
commands, or workspace management. Activate for questions like 'How
|
|
7
|
+
do I use Kiro?', 'What are specs?', 'How to set up MCP?', 'Create a
|
|
8
|
+
steering file', 'Fix Kiro issues', or 'Configure my workspace'.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Kiro IDE Expert
|
|
12
|
+
|
|
13
|
+
Kiro is an AI-powered development environment that helps developers focus on what matters: designing systems, exploring solutions, and making decisions. It combines autonomous planning, execution, and validation with extensibility through specs, steering files, skills, commands, hooks, and MCP servers.
|
|
14
|
+
|
|
15
|
+
## When to Use This Skill
|
|
16
|
+
|
|
17
|
+
Use when users need help with:
|
|
18
|
+
- Understanding Kiro features and capabilities
|
|
19
|
+
- Installation, setup, and workspace configuration
|
|
20
|
+
- Creating and managing specs (requirements, design, tasks)
|
|
21
|
+
- Writing steering files for project conventions
|
|
22
|
+
- Creating or managing skills
|
|
23
|
+
- Configuring MCP servers for external tool integration
|
|
24
|
+
- Setting up hooks for automation
|
|
25
|
+
- Using commands for development workflows
|
|
26
|
+
- Troubleshooting Kiro issues
|
|
27
|
+
- Multi-workspace and team collaboration
|
|
28
|
+
- Advanced features (autonomy modes, context management)
|
|
29
|
+
|
|
30
|
+
**Activation examples:**
|
|
31
|
+
- "How do I use Kiro?"
|
|
32
|
+
- "What are specs and how do I create one?"
|
|
33
|
+
- "How to set up MCP servers?"
|
|
34
|
+
- "Create a new steering file for X"
|
|
35
|
+
- "Fix Kiro configuration issues"
|
|
36
|
+
- "How do hooks work in Kiro?"
|
|
37
|
+
|
|
38
|
+
## Core Architecture
|
|
39
|
+
|
|
40
|
+
**Specs**: Structured feature development workflow (requirements -> design -> tasks) that guides implementation systematically
|
|
41
|
+
|
|
42
|
+
**Steering Files**: Project-level instructions in `.kiro/steering/` that provide conventions, standards, and context to the AI agent
|
|
43
|
+
|
|
44
|
+
**Skills**: Modular capabilities with instructions and references that Kiro activates automatically based on context
|
|
45
|
+
|
|
46
|
+
**Commands**: User-defined operations in `.kiro/commands/` that expand to prompts for common workflows
|
|
47
|
+
|
|
48
|
+
**Hooks**: Automated actions triggered by IDE events (file changes, tool use, task execution, prompt submission)
|
|
49
|
+
|
|
50
|
+
**MCP Servers**: Model Context Protocol integrations connecting external tools and services via `.kiro/settings/mcp.json`
|
|
51
|
+
|
|
52
|
+
## Quick Reference
|
|
53
|
+
|
|
54
|
+
Load these references when needed for detailed guidance:
|
|
55
|
+
|
|
56
|
+
### Getting Started
|
|
57
|
+
- **Installation & Setup**: `references/getting-started.md`
|
|
58
|
+
- Prerequisites, installation, workspace setup, first run
|
|
59
|
+
|
|
60
|
+
### Spec-Driven Development
|
|
61
|
+
- **Specs Workflow**: `references/specs-workflow.md`
|
|
62
|
+
- Requirements, design, tasks, bugfix specs, property-based testing
|
|
63
|
+
|
|
64
|
+
### Steering & Configuration
|
|
65
|
+
- **Steering Files**: `references/steering-files.md`
|
|
66
|
+
- Always-included, conditional (fileMatch), manual inclusion, front-matter format
|
|
67
|
+
|
|
68
|
+
- **Configuration**: `references/configuration.md`
|
|
69
|
+
- Settings hierarchy, MCP config, workspace vs user settings
|
|
70
|
+
|
|
71
|
+
### Skills & Commands
|
|
72
|
+
- **Skills**: `references/skills.md`
|
|
73
|
+
- Creating skills, skill.md format, references directory, activation patterns
|
|
74
|
+
|
|
75
|
+
- **Commands**: `references/commands.md`
|
|
76
|
+
- Command file format, front-matter, argument hints, workflow patterns
|
|
77
|
+
|
|
78
|
+
### Integration & Extension
|
|
79
|
+
- **MCP Integration**: `references/mcp-integration.md`
|
|
80
|
+
- mcp.json configuration, common servers, auto-approve, troubleshooting
|
|
81
|
+
|
|
82
|
+
- **Hooks**: `references/hooks.md`
|
|
83
|
+
- Event types (fileEdited, preToolUse, postToolUse, promptSubmit, etc.)
|
|
84
|
+
- Actions (askAgent, runCommand), hook schema, examples
|
|
85
|
+
|
|
86
|
+
### Advanced Usage
|
|
87
|
+
- **Autonomy Modes**: `references/autonomy-modes.md`
|
|
88
|
+
- Autopilot vs Supervised mode, when to use each
|
|
89
|
+
|
|
90
|
+
- **Troubleshooting**: `references/troubleshooting.md`
|
|
91
|
+
- Common issues, MCP problems, performance, workspace diagnostics
|
|
92
|
+
|
|
93
|
+
- **Best Practices**: `references/best-practices.md`
|
|
94
|
+
- Project organization, steering conventions, skill design, team workflows
|
|
95
|
+
|
|
96
|
+
## Common Workflows
|
|
97
|
+
|
|
98
|
+
### Spec-Driven Feature Development
|
|
99
|
+
```
|
|
100
|
+
1. Create a spec: Kiro guides you through requirements -> design -> tasks
|
|
101
|
+
2. Execute tasks: Kiro implements each task from the spec sequentially
|
|
102
|
+
3. Validate: Property-based tests verify correctness properties
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Steering File Setup
|
|
106
|
+
```
|
|
107
|
+
# .kiro/steering/my-conventions.md
|
|
108
|
+
---
|
|
109
|
+
inclusion: always
|
|
110
|
+
description: Project coding conventions
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
Your conventions here...
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Hook Configuration
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"name": "Lint on Save",
|
|
120
|
+
"version": "1.0.0",
|
|
121
|
+
"when": {
|
|
122
|
+
"type": "fileEdited",
|
|
123
|
+
"patterns": ["*.ts", "*.tsx"]
|
|
124
|
+
},
|
|
125
|
+
"then": {
|
|
126
|
+
"type": "runCommand",
|
|
127
|
+
"command": "npm run lint"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### MCP Server Setup
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"my-server": {
|
|
137
|
+
"command": "uvx",
|
|
138
|
+
"args": ["my-mcp-server@latest"],
|
|
139
|
+
"env": {},
|
|
140
|
+
"disabled": false,
|
|
141
|
+
"autoApprove": []
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Skill Creation
|
|
148
|
+
```
|
|
149
|
+
.kiro/skills/my-skill/
|
|
150
|
+
skill.md # Main skill file with front-matter
|
|
151
|
+
references/ # Supporting reference documents
|
|
152
|
+
guide.md
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Instructions for Kiro
|
|
156
|
+
|
|
157
|
+
When responding to Kiro-related questions:
|
|
158
|
+
|
|
159
|
+
1. **Identify the topic** from the user's question
|
|
160
|
+
2. **Load relevant references** from the Quick Reference section above
|
|
161
|
+
3. **Provide specific guidance** using information from loaded references
|
|
162
|
+
4. **Include examples** when helpful
|
|
163
|
+
|
|
164
|
+
**Loading references:**
|
|
165
|
+
- Read reference files only when needed for the specific question
|
|
166
|
+
- Multiple references can be loaded for complex queries
|
|
167
|
+
|
|
168
|
+
**For setup questions:** Load `references/getting-started.md`
|
|
169
|
+
|
|
170
|
+
**For spec questions:** Load `references/specs-workflow.md`
|
|
171
|
+
|
|
172
|
+
**For steering questions:** Load `references/steering-files.md`
|
|
173
|
+
|
|
174
|
+
**For skill creation:** Load `references/skills.md`
|
|
175
|
+
|
|
176
|
+
**For command questions:** Load `references/commands.md`
|
|
177
|
+
|
|
178
|
+
**For MCP questions:** Load `references/mcp-integration.md`
|
|
179
|
+
|
|
180
|
+
**For hook questions:** Load `references/hooks.md`
|
|
181
|
+
|
|
182
|
+
**For configuration:** Load `references/configuration.md`
|
|
183
|
+
|
|
184
|
+
**For autonomy modes:** Load `references/autonomy-modes.md`
|
|
185
|
+
|
|
186
|
+
**For troubleshooting:** Load `references/troubleshooting.md`
|
|
187
|
+
|
|
188
|
+
**For best practices:** Load `references/best-practices.md`
|
|
189
|
+
|
|
190
|
+
**Documentation links:**
|
|
191
|
+
- Kiro docs: https://kiro.dev/docs/
|
|
192
|
+
- GitHub: https://github.com/aws/kiro
|
|
193
|
+
|
|
194
|
+
Provide accurate, actionable guidance based on the loaded references and official documentation.
|
|
@@ -9,7 +9,7 @@ PATTERN: $1 (default: all tests)
|
|
|
9
9
|
|
|
10
10
|
## Workflow
|
|
11
11
|
1. Run Vitest with coverage: `npx vitest run --coverage`
|
|
12
|
-
2. If pattern provided, filter tests: `npx vitest run $1`
|
|
12
|
+
2. If pattern provided, filter tests: `npx vitest run --coverage $1`
|
|
13
13
|
3. Report test results summary (passed, failed, skipped)
|
|
14
14
|
4. Report coverage metrics (lines, branches, functions)
|
|
15
15
|
5. Highlight any failing tests with error details
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Checks for common accessibility issues in .tsx/.jsx files.
|
|
4
|
+
* Scans for missing alt attributes, missing aria-labels, and missing lang attribute.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const fs = require('fs');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
const SRC_DIR = path.resolve(process.cwd(), 'src');
|
|
11
|
+
const EXTENSIONS = ['.tsx', '.jsx'];
|
|
12
|
+
|
|
13
|
+
if (!fs.existsSync(SRC_DIR)) {
|
|
14
|
+
process.exit(0);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function getFiles(dir) {
|
|
18
|
+
const results = [];
|
|
19
|
+
try {
|
|
20
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
21
|
+
for (const entry of entries) {
|
|
22
|
+
const full = path.join(dir, entry.name);
|
|
23
|
+
if (entry.isDirectory() && entry.name !== 'node_modules') {
|
|
24
|
+
results.push(...getFiles(full));
|
|
25
|
+
} else if (EXTENSIONS.includes(path.extname(entry.name).toLowerCase())) {
|
|
26
|
+
results.push(full);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
} catch (e) { /* skip unreadable dirs */ }
|
|
30
|
+
return results;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const issues = [];
|
|
34
|
+
const files = getFiles(SRC_DIR);
|
|
35
|
+
|
|
36
|
+
for (const file of files) {
|
|
37
|
+
const content = fs.readFileSync(file, 'utf8');
|
|
38
|
+
const rel = path.relative(process.cwd(), file);
|
|
39
|
+
|
|
40
|
+
// Check for <img> without alt
|
|
41
|
+
const imgNoAlt = content.match(/<img(?![^>]*\balt\b)[^>]*>/g);
|
|
42
|
+
if (imgNoAlt) {
|
|
43
|
+
issues.push(`${rel}: ${imgNoAlt.length} <img> tag(s) missing alt attribute`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Check for interactive elements without aria-label
|
|
47
|
+
const buttons = content.match(/<button(?![^>]*\baria-label\b)(?![^>]*>[^<]+<\/button>)[^>]*>\s*<\//g);
|
|
48
|
+
if (buttons) {
|
|
49
|
+
issues.push(`${rel}: ${buttons.length} empty <button> without aria-label`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Check for lang attribute in root layout/html
|
|
54
|
+
const layoutFiles = ['src/app/layout.tsx', 'src/app/layout.jsx', 'index.html'];
|
|
55
|
+
let hasLang = false;
|
|
56
|
+
for (const lf of layoutFiles) {
|
|
57
|
+
const full = path.resolve(process.cwd(), lf);
|
|
58
|
+
if (fs.existsSync(full)) {
|
|
59
|
+
const content = fs.readFileSync(full, 'utf8');
|
|
60
|
+
if (/<html[^>]*\blang\b/.test(content)) {
|
|
61
|
+
hasLang = true;
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!hasLang && files.length > 0) {
|
|
67
|
+
issues.push('Root layout/html: missing lang attribute on <html> element');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (issues.length > 0) {
|
|
71
|
+
process.stdout.write('[accessibility-check] Issues found:\n');
|
|
72
|
+
issues.forEach((i) => process.stdout.write(` - ${i}\n`));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
process.exit(0);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Checks if bundle analysis data exists and warns if total size exceeds threshold.
|
|
4
|
+
* Looks for .next/analyze/ or build stats files.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const fs = require('fs');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
const THRESHOLD_KB = 500;
|
|
11
|
+
const ANALYZE_PATHS = [
|
|
12
|
+
'.next/analyze/client.html',
|
|
13
|
+
'.next/analyze/nodejs.html',
|
|
14
|
+
'build/bundle-stats.json',
|
|
15
|
+
'dist/stats.json',
|
|
16
|
+
'stats.json',
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
const cwd = process.cwd();
|
|
20
|
+
let found = false;
|
|
21
|
+
|
|
22
|
+
for (const rel of ANALYZE_PATHS) {
|
|
23
|
+
const full = path.resolve(cwd, rel);
|
|
24
|
+
if (fs.existsSync(full)) {
|
|
25
|
+
found = true;
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (!found) {
|
|
31
|
+
// Check .next build manifest for size info
|
|
32
|
+
const buildManifest = path.resolve(cwd, '.next/build-manifest.json');
|
|
33
|
+
if (!fs.existsSync(buildManifest)) {
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Check total size of JS output
|
|
39
|
+
const outputDirs = ['.next/static/chunks', 'dist', 'build/static/js'];
|
|
40
|
+
let totalBytes = 0;
|
|
41
|
+
|
|
42
|
+
for (const dir of outputDirs) {
|
|
43
|
+
const full = path.resolve(cwd, dir);
|
|
44
|
+
if (!fs.existsSync(full)) continue;
|
|
45
|
+
try {
|
|
46
|
+
const files = fs.readdirSync(full);
|
|
47
|
+
for (const file of files) {
|
|
48
|
+
if (file.endsWith('.js')) {
|
|
49
|
+
const stat = fs.statSync(path.join(full, file));
|
|
50
|
+
totalBytes += stat.size;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
} catch (e) { /* skip */ }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (totalBytes === 0) {
|
|
57
|
+
process.exit(0);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const totalKB = Math.round(totalBytes / 1024);
|
|
61
|
+
|
|
62
|
+
if (totalKB > THRESHOLD_KB) {
|
|
63
|
+
process.stdout.write(
|
|
64
|
+
`[bundle-size-guard] Warning: Total JS bundle size is ${totalKB}KB (threshold: ${THRESHOLD_KB}KB).\n` +
|
|
65
|
+
' Consider code splitting, lazy loading, or removing unused dependencies.\n'
|
|
66
|
+
);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
process.stdout.write(`[bundle-size-guard] Bundle size OK: ${totalKB}KB (threshold: ${THRESHOLD_KB}KB).\n`);
|
|
71
|
+
process.exit(0);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Checks if components in src/components/ have corresponding .test.tsx files.
|
|
4
|
+
* Warns about components missing test coverage.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const fs = require('fs');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
const COMPONENTS_DIR = path.resolve(process.cwd(), 'src/components');
|
|
11
|
+
const COMPONENT_EXTENSIONS = ['.tsx', '.jsx'];
|
|
12
|
+
const IGNORE_DIRS = ['ui', 'node_modules', '__tests__'];
|
|
13
|
+
|
|
14
|
+
if (!fs.existsSync(COMPONENTS_DIR)) {
|
|
15
|
+
process.exit(0);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function getComponentFiles(dir) {
|
|
19
|
+
const results = [];
|
|
20
|
+
try {
|
|
21
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
22
|
+
for (const entry of entries) {
|
|
23
|
+
const full = path.join(dir, entry.name);
|
|
24
|
+
if (entry.isDirectory() && !IGNORE_DIRS.includes(entry.name)) {
|
|
25
|
+
results.push(...getComponentFiles(full));
|
|
26
|
+
} else if (entry.isFile()) {
|
|
27
|
+
const ext = path.extname(entry.name).toLowerCase();
|
|
28
|
+
const base = path.basename(entry.name, ext);
|
|
29
|
+
if (COMPONENT_EXTENSIONS.includes(ext) && !base.endsWith('.test') && !base.endsWith('.spec')) {
|
|
30
|
+
// Only count PascalCase files as components
|
|
31
|
+
if (/^[A-Z]/.test(base)) {
|
|
32
|
+
results.push(full);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
} catch (e) { /* skip */ }
|
|
38
|
+
return results;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const components = getComponentFiles(COMPONENTS_DIR);
|
|
42
|
+
const missing = [];
|
|
43
|
+
|
|
44
|
+
for (const comp of components) {
|
|
45
|
+
const dir = path.dirname(comp);
|
|
46
|
+
const ext = path.extname(comp);
|
|
47
|
+
const base = path.basename(comp, ext);
|
|
48
|
+
|
|
49
|
+
const testPatterns = [
|
|
50
|
+
path.join(dir, `${base}.test.tsx`),
|
|
51
|
+
path.join(dir, `${base}.test.jsx`),
|
|
52
|
+
path.join(dir, `${base}.spec.tsx`),
|
|
53
|
+
path.join(dir, '__tests__', `${base}.test.tsx`),
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const hasTest = testPatterns.some((t) => fs.existsSync(t));
|
|
57
|
+
if (!hasTest) {
|
|
58
|
+
missing.push(path.relative(process.cwd(), comp));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (missing.length > 0) {
|
|
63
|
+
process.stdout.write(`[component-test-reminder] ${missing.length} component(s) without tests:\n`);
|
|
64
|
+
missing.slice(0, 10).forEach((m) => process.stdout.write(` - ${m}\n`));
|
|
65
|
+
if (missing.length > 10) {
|
|
66
|
+
process.stdout.write(` ... and ${missing.length - 10} more\n`);
|
|
67
|
+
}
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
process.exit(0);
|
|
@@ -553,6 +553,29 @@
|
|
|
553
553
|
"type": "hook",
|
|
554
554
|
"executable": true
|
|
555
555
|
},
|
|
556
|
+
{
|
|
557
|
+
"source": "hooks/accessibility-check.js",
|
|
558
|
+
"target": ".kiro/hooks/accessibility-check.js",
|
|
559
|
+
"type": "hook",
|
|
560
|
+
"executable": true
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"source": "hooks/bundle-size-guard.js",
|
|
564
|
+
"target": ".kiro/hooks/bundle-size-guard.js",
|
|
565
|
+
"type": "hook",
|
|
566
|
+
"executable": true
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"source": "hooks/component-test-reminder.js",
|
|
570
|
+
"target": ".kiro/hooks/component-test-reminder.js",
|
|
571
|
+
"type": "hook",
|
|
572
|
+
"executable": true
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"source": "powers.json",
|
|
576
|
+
"target": ".kiro/powers.json",
|
|
577
|
+
"type": "powers"
|
|
578
|
+
},
|
|
556
579
|
{
|
|
557
580
|
"source": "metadata.json",
|
|
558
581
|
"target": ".kiro/metadata.json",
|
|
@@ -819,73 +842,63 @@
|
|
|
819
842
|
"type": "other"
|
|
820
843
|
},
|
|
821
844
|
{
|
|
822
|
-
"source": "skills/
|
|
823
|
-
"target": ".kiro/skills/
|
|
824
|
-
"type": "
|
|
825
|
-
},
|
|
826
|
-
{
|
|
827
|
-
"source": "skills/claude-code/references/agent-skills.md",
|
|
828
|
-
"target": ".kiro/skills/claude-code/references/agent-skills.md",
|
|
829
|
-
"type": "doc"
|
|
830
|
-
},
|
|
831
|
-
{
|
|
832
|
-
"source": "skills/claude-code/references/api-reference.md",
|
|
833
|
-
"target": ".kiro/skills/claude-code/references/api-reference.md",
|
|
834
|
-
"type": "doc"
|
|
845
|
+
"source": "skills/kiro/skill.md",
|
|
846
|
+
"target": ".kiro/skills/kiro/skill.md",
|
|
847
|
+
"type": "skill"
|
|
835
848
|
},
|
|
836
849
|
{
|
|
837
|
-
"source": "skills/
|
|
838
|
-
"target": ".kiro/skills/
|
|
850
|
+
"source": "skills/kiro/references/autonomy-modes.md",
|
|
851
|
+
"target": ".kiro/skills/kiro/references/autonomy-modes.md",
|
|
839
852
|
"type": "doc"
|
|
840
853
|
},
|
|
841
854
|
{
|
|
842
|
-
"source": "skills/
|
|
843
|
-
"target": ".kiro/skills/
|
|
855
|
+
"source": "skills/kiro/references/best-practices.md",
|
|
856
|
+
"target": ".kiro/skills/kiro/references/best-practices.md",
|
|
844
857
|
"type": "doc"
|
|
845
858
|
},
|
|
846
859
|
{
|
|
847
|
-
"source": "skills/
|
|
848
|
-
"target": ".kiro/skills/
|
|
860
|
+
"source": "skills/kiro/references/commands.md",
|
|
861
|
+
"target": ".kiro/skills/kiro/references/commands.md",
|
|
849
862
|
"type": "doc"
|
|
850
863
|
},
|
|
851
864
|
{
|
|
852
|
-
"source": "skills/
|
|
853
|
-
"target": ".kiro/skills/
|
|
865
|
+
"source": "skills/kiro/references/configuration.md",
|
|
866
|
+
"target": ".kiro/skills/kiro/references/configuration.md",
|
|
854
867
|
"type": "doc"
|
|
855
868
|
},
|
|
856
869
|
{
|
|
857
|
-
"source": "skills/
|
|
858
|
-
"target": ".kiro/skills/
|
|
870
|
+
"source": "skills/kiro/references/getting-started.md",
|
|
871
|
+
"target": ".kiro/skills/kiro/references/getting-started.md",
|
|
859
872
|
"type": "doc"
|
|
860
873
|
},
|
|
861
874
|
{
|
|
862
|
-
"source": "skills/
|
|
863
|
-
"target": ".kiro/skills/
|
|
875
|
+
"source": "skills/kiro/references/hooks.md",
|
|
876
|
+
"target": ".kiro/skills/kiro/references/hooks.md",
|
|
864
877
|
"type": "doc"
|
|
865
878
|
},
|
|
866
879
|
{
|
|
867
|
-
"source": "skills/
|
|
868
|
-
"target": ".kiro/skills/
|
|
880
|
+
"source": "skills/kiro/references/mcp-integration.md",
|
|
881
|
+
"target": ".kiro/skills/kiro/references/mcp-integration.md",
|
|
869
882
|
"type": "doc"
|
|
870
883
|
},
|
|
871
884
|
{
|
|
872
|
-
"source": "skills/
|
|
873
|
-
"target": ".kiro/skills/
|
|
885
|
+
"source": "skills/kiro/references/skills.md",
|
|
886
|
+
"target": ".kiro/skills/kiro/references/skills.md",
|
|
874
887
|
"type": "doc"
|
|
875
888
|
},
|
|
876
889
|
{
|
|
877
|
-
"source": "skills/
|
|
878
|
-
"target": ".kiro/skills/
|
|
890
|
+
"source": "skills/kiro/references/specs-workflow.md",
|
|
891
|
+
"target": ".kiro/skills/kiro/references/specs-workflow.md",
|
|
879
892
|
"type": "doc"
|
|
880
893
|
},
|
|
881
894
|
{
|
|
882
|
-
"source": "skills/
|
|
883
|
-
"target": ".kiro/skills/
|
|
895
|
+
"source": "skills/kiro/references/steering-files.md",
|
|
896
|
+
"target": ".kiro/skills/kiro/references/steering-files.md",
|
|
884
897
|
"type": "doc"
|
|
885
898
|
},
|
|
886
899
|
{
|
|
887
|
-
"source": "skills/
|
|
888
|
-
"target": ".kiro/skills/
|
|
900
|
+
"source": "skills/kiro/references/troubleshooting.md",
|
|
901
|
+
"target": ".kiro/skills/kiro/references/troubleshooting.md",
|
|
889
902
|
"type": "doc"
|
|
890
903
|
},
|
|
891
904
|
{
|