cc-sddを追加
This commit is contained in:
parent
13b826a31d
commit
e7e6879d68
|
|
@ -0,0 +1,457 @@
|
|||
description = "Create technical design for a specification"
|
||||
|
||||
prompt = """
|
||||
# Technical Design
|
||||
|
||||
Create comprehensive technical design for feature: **{{args}}**
|
||||
|
||||
## Task: Create Technical Design Document
|
||||
|
||||
### 1. Prerequisites & File Handling
|
||||
- **Requirements Approval Check**:
|
||||
- If invoked with `-y`, set `requirements.approved=true` in `spec.json`
|
||||
- Otherwise, **stop** with an actionable message if requirements are missing or unapproved
|
||||
- **Design File Handling**:
|
||||
- If design.md does not exist: Create new design.md file
|
||||
- If design.md exists: Interactive prompt with options:
|
||||
- **[o] Overwrite**: Generate completely new design document
|
||||
- **[m] Merge**: Generate new design document using existing content as reference context
|
||||
- **[c] Cancel**: Stop execution for manual review
|
||||
- **Context Loading**: Read `.kiro/specs/{{args}}/requirements.md`, core steering documents, and existing design.md (if merge mode)
|
||||
|
||||
### 2. Discovery & Analysis Phase
|
||||
|
||||
**CRITICAL**: Before generating the design, conduct thorough research and analysis:
|
||||
|
||||
#### Feature Classification & Process Adaptation
|
||||
**Classify feature type to adapt process scope**:
|
||||
- **New Feature** (greenfield): Full process including technology selection and architecture decisions
|
||||
- **Extension** (existing system): Focus on integration analysis, minimal architectural changes
|
||||
- **Simple Addition** (CRUD, UI): Streamlined process, follow established patterns
|
||||
- **Complex Integration** (external systems, new domains): Comprehensive analysis and risk assessment
|
||||
|
||||
**Process Adaptation**: Skip or streamline analysis steps based on classification above
|
||||
|
||||
#### A. Requirements to Technical Components Mapping
|
||||
- Map requirements (EARS format) to technical components
|
||||
- Extract non-functional requirements (performance, security, scalability)
|
||||
- Identify core technical challenges and constraints
|
||||
|
||||
#### B. Existing Implementation Analysis
|
||||
**MANDATORY when modifying or extending existing features**:
|
||||
- Analyze codebase structure, dependencies, patterns
|
||||
- Map reusable modules, services, utilities
|
||||
- Understand domain boundaries, layers, data flow
|
||||
- Determine extension vs. refactor vs. wrap approach
|
||||
- Prioritize minimal changes and file reuse
|
||||
|
||||
**Optional for completely new features**: Review existing patterns for consistency and reuse opportunities
|
||||
|
||||
#### C. Steering Alignment Check
|
||||
- Verify alignment with core steering documents (`structure.md`, `tech.md`, `product.md`) and any custom steering files
|
||||
- **Core steering**: @.kiro/steering/structure.md, @.kiro/steering/tech.md, @.kiro/steering/product.md
|
||||
- **Custom steering**: All additional `.md` files in `.kiro/steering/` directory (e.g., `api.md`, `testing.md`, `security.md`)
|
||||
- Document deviations with rationale for steering updates
|
||||
|
||||
#### D. Technology & Alternative Analysis
|
||||
**For New Features or Unknown Technology Areas**:
|
||||
- Research latest best practices using WebSearch/WebFetch when needed in parallel
|
||||
- Compare relevant architecture patterns (MVC, Clean, Hexagonal) if pattern selection is required
|
||||
- Assess technology stack alternatives only when technology choices are being made
|
||||
- Document key findings that impact design decisions
|
||||
|
||||
**Skip this step if**: Using established team technology stack and patterns for straightforward feature additions
|
||||
|
||||
#### E. Implementation-Specific Investigation
|
||||
**When new technology or complex integration is involved**:
|
||||
- Verify specific API capabilities needed for requirements
|
||||
- Check version compatibility with existing dependencies
|
||||
- Identify configuration and setup requirements
|
||||
- Document any migration or integration challenges
|
||||
|
||||
**For ANY external dependencies (libraries, APIs, services)**:
|
||||
- Use WebSearch to find official documentation and community resources
|
||||
- Use WebFetch to analyze specific documentation pages
|
||||
- Document authentication flows, rate limits, and usage constraints
|
||||
- Note any gaps in understanding for implementation phase
|
||||
|
||||
**Skip only if**: Using well-established internal libraries with no external dependencies
|
||||
|
||||
#### F. Technical Risk Assessment
|
||||
- Performance/scalability risks: bottlenecks, capacity, growth
|
||||
- Security vulnerabilities: attack vectors, compliance gaps
|
||||
- Maintainability risks: complexity, knowledge, support
|
||||
- Integration complexity: dependencies, coupling, API changes
|
||||
- Technical debt: new creation vs. existing resolution
|
||||
|
||||
## Design Document Structure & Guidelines
|
||||
|
||||
### Core Principles
|
||||
- **Review-optimized structure**: Critical technical decisions prominently placed to prevent oversight
|
||||
- **Contextual relevance**: Include sections only when applicable to project type and scope
|
||||
- **Visual-first design**: Essential Mermaid diagrams for architecture and data flow
|
||||
- **Design focus only**: Architecture and interfaces, NO implementation code
|
||||
- **Type safety**: Never use `any` type - define explicit types and interfaces
|
||||
- **Formal tone**: Use definitive, declarative statements without hedging language
|
||||
- **Language**: Use language from `spec.json.language` field, default to English
|
||||
|
||||
### Document Sections
|
||||
|
||||
**CORE SECTIONS** (Include when relevant):
|
||||
- Overview, Architecture, Components and Interfaces (always)
|
||||
- Data Models, Error Handling, Testing Strategy (when applicable)
|
||||
- Security Considerations (when security implications exist)
|
||||
|
||||
**CONDITIONAL SECTIONS** (Include only when specifically relevant):
|
||||
- Performance & Scalability (for performance-critical features)
|
||||
- Migration Strategy (for existing system modifications)
|
||||
|
||||
<structured-document>
|
||||
## Overview
|
||||
2-3 paragraphs max
|
||||
**Purpose**: This feature delivers [specific value] to [target users].
|
||||
**Users**: [Target user groups] will utilize this for [specific workflows].
|
||||
**Impact** (if applicable): Changes the current [system state] by [specific modifications].
|
||||
|
||||
|
||||
### Goals
|
||||
- Primary objective 1
|
||||
- Primary objective 2
|
||||
- Success criteria
|
||||
|
||||
### Non-Goals
|
||||
- Explicitly excluded functionality
|
||||
- Future considerations outside current scope
|
||||
- Integration points deferred
|
||||
|
||||
## Architecture
|
||||
|
||||
### Existing Architecture Analysis (if applicable)
|
||||
When modifying existing systems:
|
||||
- Current architecture patterns and constraints
|
||||
- Existing domain boundaries to be respected
|
||||
- Integration points that must be maintained
|
||||
- Technical debt addressed or worked around
|
||||
|
||||
### High-Level Architecture
|
||||
**RECOMMENDED**: Include Mermaid diagram showing system architecture (required for complex features, optional for simple additions)
|
||||
|
||||
**Architecture Integration**:
|
||||
- Existing patterns preserved: [list key patterns]
|
||||
- New components rationale: [why each is needed]
|
||||
- Technology alignment: [how it fits current stack]
|
||||
- Steering compliance: [principles maintained]
|
||||
|
||||
### Technology Stack and Design Decisions
|
||||
|
||||
**Generation Instructions** (DO NOT include this section in design.md):
|
||||
Adapt content based on feature classification from Discovery & Analysis Phase:
|
||||
|
||||
**For New Features (greenfield)**:
|
||||
Generate Technology Stack section with ONLY relevant layers:
|
||||
- Include only applicable technology layers (e.g., skip Frontend for CLI tools, skip Infrastructure for libraries)
|
||||
- For each technology choice, provide: selection, rationale, and alternatives considered
|
||||
- Include Architecture Pattern Selection if making architectural decisions
|
||||
|
||||
**For Extensions/Additions to Existing Systems**:
|
||||
Generate Technology Alignment section instead:
|
||||
- Document how feature aligns with existing technology stack
|
||||
- Note any new dependencies or libraries being introduced
|
||||
- Justify deviations from established patterns if necessary
|
||||
|
||||
**Key Design Decisions**:
|
||||
Generate 1-3 critical technical decisions that significantly impact the implementation.
|
||||
Each decision should follow this format:
|
||||
- **Decision**: [Specific technical choice made]
|
||||
- **Context**: [Problem or requirement driving this decision]
|
||||
- **Alternatives**: [2-3 other approaches considered]
|
||||
- **Selected Approach**: [What was chosen and how it works]
|
||||
- **Rationale**: [Why this is optimal for the specific context]
|
||||
- **Trade-offs**: [What we gain vs. what we sacrifice]
|
||||
|
||||
Skip this entire section for simple CRUD operations or when following established patterns without deviation.
|
||||
|
||||
## System Flows
|
||||
|
||||
**Flow Design Generation Instructions** (DO NOT include this section in design.md):
|
||||
Generate appropriate flow diagrams ONLY when the feature requires flow visualization. Select from:
|
||||
- **Sequence Diagrams**: For user interactions across multiple components
|
||||
- **Process Flow Charts**: For complex algorithms, decision branches, or state machines
|
||||
- **Data Flow Diagrams**: For data transformations, ETL processes, or data pipelines
|
||||
- **State Diagrams**: For complex state transitions
|
||||
- **Event Flow**: For async/event-driven architectures
|
||||
|
||||
Skip this section entirely for simple CRUD operations or features without complex flows.
|
||||
When included, provide concise Mermaid diagrams specific to the actual feature requirements.
|
||||
|
||||
## Requirements Traceability
|
||||
|
||||
**Traceability Generation Instructions** (DO NOT include this section in design.md):
|
||||
Generate traceability mapping ONLY for complex features with multiple requirements or when explicitly needed for compliance/validation.
|
||||
|
||||
When included, create a mapping table showing how each EARS requirement is realized:
|
||||
| Requirement | Requirement Summary | Components | Interfaces | Flows |
|
||||
|---------------|-------------------|------------|------------|-------|
|
||||
| 1.1 | Brief description | Component names | API/Methods | Relevant flow diagrams |
|
||||
|
||||
Alternative format for simpler cases:
|
||||
- **1.1**: Realized by [Component X] through [Interface Y]
|
||||
- **1.2**: Implemented in [Component Z] with [Flow diagram reference]
|
||||
|
||||
Skip this section for simple features with straightforward 1:1 requirement-to-component mappings.
|
||||
|
||||
## Components and Interfaces
|
||||
|
||||
**Component Design Generation Instructions** (DO NOT include this section in design.md):
|
||||
Structure components by domain boundaries or architectural layers. Generate only relevant subsections based on component type.
|
||||
Group related components under domain/layer headings for clarity.
|
||||
|
||||
### [Domain/Layer Name]
|
||||
|
||||
#### [Component Name]
|
||||
|
||||
**Responsibility & Boundaries**
|
||||
- **Primary Responsibility**: Single, clear statement of what this component does
|
||||
- **Domain Boundary**: Which domain/subdomain this belongs to
|
||||
- **Data Ownership**: What data this component owns and manages
|
||||
- **Transaction Boundary**: Scope of transactional consistency (if applicable)
|
||||
|
||||
**Dependencies**
|
||||
- **Inbound**: Components/services that depend on this component
|
||||
- **Outbound**: Components/services this component depends on
|
||||
- **External**: Third-party services, libraries, or external systems
|
||||
|
||||
**External Dependencies Investigation** (when using external libraries/services):
|
||||
- Use WebSearch to locate official documentation, GitHub repos, and community resources
|
||||
- Use WebFetch to retrieve and analyze documentation pages, API references, and usage examples
|
||||
- Verify API signatures, authentication methods, and rate limits
|
||||
- Check version compatibility, breaking changes, and migration guides
|
||||
- Investigate common issues, best practices, and performance considerations
|
||||
- Document any assumptions, unknowns, or risks for implementation phase
|
||||
- If critical information is missing, clearly note "Requires investigation during implementation: [specific concern]"
|
||||
|
||||
**Contract Definition**
|
||||
|
||||
Select and generate ONLY the relevant contract types for each component:
|
||||
|
||||
**Service Interface** (for business logic components):
|
||||
```typescript
|
||||
interface [ComponentName]Service {
|
||||
// Method signatures with clear input/output types
|
||||
// Include error types in return signatures
|
||||
methodName(input: InputType): Result<OutputType, ErrorType>;
|
||||
}
|
||||
```
|
||||
- **Preconditions**: What must be true before calling
|
||||
- **Postconditions**: What is guaranteed after successful execution
|
||||
- **Invariants**: What remains true throughout
|
||||
|
||||
**API Contract** (for REST/GraphQL endpoints):
|
||||
| Method | Endpoint | Request | Response | Errors |
|
||||
|--------|----------|---------|----------|--------|
|
||||
| POST | /api/resource | CreateRequest | Resource | 400, 409, 500 |
|
||||
|
||||
With detailed schemas only for complex payloads
|
||||
|
||||
**Event Contract** (for event-driven components):
|
||||
- **Published Events**: Event name, schema, trigger conditions
|
||||
- **Subscribed Events**: Event name, handling strategy, idempotency
|
||||
- **Ordering**: Guaranteed order requirements
|
||||
- **Delivery**: At-least-once, at-most-once, or exactly-once
|
||||
|
||||
**Batch/Job Contract** (for scheduled/triggered processes):
|
||||
- **Trigger**: Schedule, event, or manual trigger conditions
|
||||
- **Input**: Data source and validation rules
|
||||
- **Output**: Results destination and format
|
||||
- **Idempotency**: How repeat executions are handled
|
||||
- **Recovery**: Failure handling and retry strategy
|
||||
|
||||
**State Management** (only if component maintains state):
|
||||
- **State Model**: States and valid transitions
|
||||
- **Persistence**: Storage strategy and consistency model
|
||||
- **Concurrency**: Locking, optimistic/pessimistic control
|
||||
|
||||
**Integration Strategy** (when modifying existing systems):
|
||||
- **Modification Approach**: Extend, wrap, or refactor existing code
|
||||
- **Backward Compatibility**: What must be maintained
|
||||
- **Migration Path**: How to transition from current to target state
|
||||
|
||||
## Data Models
|
||||
|
||||
**Data Model Generation Instructions** (DO NOT include this section in design.md):
|
||||
Generate only relevant data model sections based on the system's data requirements and chosen architecture.
|
||||
Progress from conceptual to physical as needed for implementation clarity.
|
||||
|
||||
### Domain Model
|
||||
**When to include**: Complex business domains with rich behavior and rules
|
||||
|
||||
**Core Concepts**:
|
||||
- **Aggregates**: Define transactional consistency boundaries
|
||||
- **Entities**: Business objects with unique identity and lifecycle
|
||||
- **Value Objects**: Immutable descriptive aspects without identity
|
||||
- **Domain Events**: Significant state changes in the domain
|
||||
|
||||
**Business Rules & Invariants**:
|
||||
- Constraints that must always be true
|
||||
- Validation rules and their enforcement points
|
||||
- Cross-aggregate consistency strategies
|
||||
|
||||
Include conceptual diagram (Mermaid) only when relationships are complex enough to benefit from visualization
|
||||
|
||||
### Logical Data Model
|
||||
**When to include**: When designing data structures independent of storage technology
|
||||
|
||||
**Structure Definition**:
|
||||
- Entity relationships and cardinality
|
||||
- Attributes and their types
|
||||
- Natural keys and identifiers
|
||||
- Referential integrity rules
|
||||
|
||||
**Consistency & Integrity**:
|
||||
- Transaction boundaries
|
||||
- Cascading rules
|
||||
- Temporal aspects (versioning, audit)
|
||||
|
||||
### Physical Data Model
|
||||
**When to include**: When implementation requires specific storage design decisions
|
||||
|
||||
**For Relational Databases**:
|
||||
- Table definitions with data types
|
||||
- Primary/foreign keys and constraints
|
||||
- Indexes and performance optimizations
|
||||
- Partitioning strategy for scale
|
||||
|
||||
**For Document Stores**:
|
||||
- Collection structures
|
||||
- Embedding vs referencing decisions
|
||||
- Sharding key design
|
||||
- Index definitions
|
||||
|
||||
**For Event Stores**:
|
||||
- Event schema definitions
|
||||
- Stream aggregation strategies
|
||||
- Snapshot policies
|
||||
- Projection definitions
|
||||
|
||||
**For Key-Value/Wide-Column Stores**:
|
||||
- Key design patterns
|
||||
- Column families or value structures
|
||||
- TTL and compaction strategies
|
||||
|
||||
### Data Contracts & Integration
|
||||
**When to include**: Systems with service boundaries or external integrations
|
||||
|
||||
**API Data Transfer**:
|
||||
- Request/response schemas
|
||||
- Validation rules
|
||||
- Serialization format (JSON, Protobuf, etc.)
|
||||
|
||||
**Event Schemas**:
|
||||
- Published event structures
|
||||
- Schema versioning strategy
|
||||
- Backward/forward compatibility rules
|
||||
|
||||
**Cross-Service Data Management**:
|
||||
- Distributed transaction patterns (Saga, 2PC)
|
||||
- Data synchronization strategies
|
||||
- Eventual consistency handling
|
||||
|
||||
Skip any section not directly relevant to the feature being designed.
|
||||
Focus on aspects that influence implementation decisions.
|
||||
|
||||
## Error Handling
|
||||
|
||||
### Error Strategy
|
||||
Concrete error handling patterns and recovery mechanisms for each error type.
|
||||
|
||||
### Error Categories and Responses
|
||||
**User Errors** (4xx): Invalid input → field-level validation; Unauthorized → auth guidance; Not found → navigation help
|
||||
**System Errors** (5xx): Infrastructure failures → graceful degradation; Timeouts → circuit breakers; Exhaustion → rate limiting
|
||||
**Business Logic Errors** (422): Rule violations → condition explanations; State conflicts → transition guidance
|
||||
|
||||
**Process Flow Visualization** (when complex business logic exists):
|
||||
Include Mermaid flowchart only for complex error scenarios with business workflows.
|
||||
|
||||
### Monitoring
|
||||
Error tracking, logging, and health monitoring implementation.
|
||||
|
||||
## Testing Strategy
|
||||
|
||||
### Default sections (adapt names/sections to fit the domain)
|
||||
- Unit Tests: 3–5 items from core functions/modules (e.g., auth methods, subscription logic)
|
||||
- Integration Tests: 3–5 cross-component flows (e.g., webhook handling, notifications)
|
||||
- E2E/UI Tests (if applicable): 3–5 critical user paths (e.g., forms, dashboards)
|
||||
- Performance/Load (if applicable): 3–4 items (e.g., concurrency, high-volume ops)
|
||||
|
||||
## Optional Sections (include when relevant)
|
||||
|
||||
### Security Considerations
|
||||
**Include when**: Features handle authentication, sensitive data, external integrations, or user permissions
|
||||
- Threat modeling, security controls, compliance requirements
|
||||
- Authentication and authorization patterns
|
||||
- Data protection and privacy considerations
|
||||
|
||||
### Performance & Scalability
|
||||
**Include when**: Features have specific performance requirements, high load expectations, or scaling concerns
|
||||
- Target metrics and measurement strategies
|
||||
- Scaling approaches (horizontal/vertical)
|
||||
- Caching strategies and optimization techniques
|
||||
|
||||
### Migration Strategy
|
||||
**REQUIRED**: Include Mermaid flowchart showing migration phases
|
||||
|
||||
**Process**: Phase breakdown, rollback triggers, validation checkpoints
|
||||
</structured-document>
|
||||
|
||||
---
|
||||
|
||||
## Process Instructions (NOT included in design.md)
|
||||
|
||||
### Visual Design Guidelines
|
||||
**Include based on complexity**:
|
||||
- **Simple features**: Basic component diagram or none if trivial
|
||||
- **Complex features**: Architecture diagram, data flow diagram, ER diagram (if complex)
|
||||
- **When helpful**: State machines, component interactions, decision trees, process flows, auth flows, approval workflows, data pipelines
|
||||
|
||||
**Mermaid Diagram Rules**:
|
||||
- Use only basic graph syntax with nodes and relationships
|
||||
- Exclude all styling elements (no style definitions, classDef, fill colors)
|
||||
- Avoid visual customization (backgrounds, custom CSS)
|
||||
- Example: `graph TB` → `A[Login] --> B[Dashboard]` → `B --> C[Settings]`
|
||||
|
||||
### Quality Checklist
|
||||
- [ ] Requirements covered with traceability
|
||||
- [ ] Existing implementation respected
|
||||
- [ ] Steering compliant, deviations documented
|
||||
- [ ] Architecture visualized with clear diagrams
|
||||
- [ ] Components have Purpose, Key Features, Interface Design
|
||||
- [ ] Data models individually documented
|
||||
- [ ] Integration with existing system explained
|
||||
|
||||
### 3. Design Document Generation & Metadata Update
|
||||
- Generate complete design document following structure guidelines
|
||||
- Update `@.kiro/specs/{{args}}/spec.json`:
|
||||
```json
|
||||
{
|
||||
"phase": "design-generated",
|
||||
"approvals": {
|
||||
"requirements": { "generated": true, "approved": true },
|
||||
"design": { "generated": true, "approved": false }
|
||||
},
|
||||
"updated_at": "current_timestamp"
|
||||
}
|
||||
```
|
||||
|
||||
### Actionable Messages
|
||||
If requirements are not approved and no `-y` flag:
|
||||
- **Error Message**: "Requirements must be approved before generating design. Run `/kiro:spec-requirements {{args}}` to review requirements, then run `/kiro:spec-design {{args}} -y` to proceed."
|
||||
- **Alternative**: "Or run `/kiro:spec-design {{args}} -y` to auto-approve requirements and generate design."
|
||||
|
||||
### Conversation Guidance
|
||||
After generation:
|
||||
- Guide user to review design narrative and visualizations
|
||||
- Suggest specific diagram additions if needed
|
||||
- Direct to run `/kiro:spec-tasks {{args}} -y` when approved
|
||||
|
||||
Create design document that tells complete story through clear narrative, structured components, and effective visualizations. think deeply
|
||||
"""
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
description = "Execute spec tasks using TDD methodology"
|
||||
|
||||
prompt = """
|
||||
# Execute Spec Tasks with TDD
|
||||
|
||||
Execute implementation tasks from spec using Kent Beck's Test-Driven Development methodology.
|
||||
|
||||
## Arguments: {{args}}
|
||||
|
||||
## Current Specs
|
||||
Available specs: !{bash -c 'ls .kiro/specs/ 2>/dev/null || echo "No specs found"'}
|
||||
|
||||
## Instructions
|
||||
|
||||
### Help Mode (--help)
|
||||
If arguments contain "--help", show usage:
|
||||
```
|
||||
/kiro:spec-impl [feature-name] <task-numbers>
|
||||
|
||||
Examples:
|
||||
/kiro:spec-impl auth-system 1.1 # Execute task 1.1
|
||||
/kiro:spec-impl auth-system 1,2,3 # Execute tasks 1, 2, 3
|
||||
/kiro:spec-impl auth-system --all # Execute all pending tasks
|
||||
```
|
||||
|
||||
### Pre-Execution Validation
|
||||
Feature name: **{{args}}** (first argument will be parsed as feature name)
|
||||
|
||||
Validate required files exist:
|
||||
Validate required files exist for feature **[feature-name]**:
|
||||
- Requirements: `.kiro/specs/[feature-name]/requirements.md`
|
||||
- Design: `.kiro/specs/[feature-name]/design.md`
|
||||
- Tasks: `.kiro/specs/[feature-name]/tasks.md`
|
||||
- Metadata: `.kiro/specs/[feature-name]/spec.json`
|
||||
|
||||
### Project Context Loading
|
||||
**Load all required content before execution:**
|
||||
|
||||
**Core Steering:**
|
||||
- Structure: @.kiro/steering/structure.md
|
||||
- Tech Stack: @.kiro/steering/tech.md
|
||||
- Product: @.kiro/steering/product.md
|
||||
|
||||
**Custom Steering:**
|
||||
- Additional `*.md` files in `.kiro/steering/` (excluding structure.md, tech.md, product.md)
|
||||
|
||||
Core Steering and Custom Steering files will provide overall project context.
|
||||
|
||||
**Spec Documents:**
|
||||
Feature name directory: **{{args}}** (first argument)
|
||||
- Metadata: @.kiro/specs/[feature-name]/spec.json
|
||||
- Requirements: `.kiro/specs/[feature-name]/requirements.md`
|
||||
- Design: `.kiro/specs/[feature-name]/design.md`
|
||||
- Tasks: `.kiro/specs/[feature-name]/tasks.md`
|
||||
|
||||
|
||||
### Task Execution
|
||||
1. **Parse feature name and task numbers** from arguments
|
||||
2. **Load all context** (steering + spec documents)
|
||||
3. **Execute selected tasks** using TDD methodology
|
||||
|
||||
### TDD Implementation
|
||||
For each selected task:
|
||||
|
||||
1. **RED**: Write failing tests first
|
||||
2. **GREEN**: Write minimal code to pass tests
|
||||
3. **REFACTOR**: Clean up and improve code structure
|
||||
4. **Verify**:
|
||||
- All tests pass
|
||||
- No regressions in existing tests
|
||||
- Code quality and test coverage maintained
|
||||
5. **Mark Complete**: Update checkbox from `- [ ]` to `- [x]` in tasks.md
|
||||
|
||||
**Note**: Follow Kent Beck's TDD methodology strictly, implementing only the specific task requirements.
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- **Feature**: Use `$1` for feature name
|
||||
- **Tasks**: Use `$2` for specific task numbers (optional)
|
||||
- **Validation**: Check all required spec files exist
|
||||
- **TDD Focus**: Always write tests before implementation
|
||||
- **Task Tracking**: Update checkboxes in tasks.md as completed
|
||||
"""
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
description = "Initialize a new specification with detailed project description and requirements"
|
||||
|
||||
prompt = """
|
||||
# Spec Initialization
|
||||
|
||||
Initialize a new specification based on the provided project description:
|
||||
|
||||
**Project Description**: {{args}}
|
||||
|
||||
## Task: Initialize Specification Structure
|
||||
|
||||
**SCOPE**: This command initializes the directory structure and metadata based on the detailed project description provided.
|
||||
|
||||
### 1. Generate Feature Name
|
||||
Create a concise, descriptive feature name from the project description ({{args}}).
|
||||
**Check existing `.kiro/specs/` directory to ensure the generated feature name is unique. If a conflict exists, append a number suffix (e.g., feature-name-2).**
|
||||
|
||||
### 2. Create Spec Directory
|
||||
Create `.kiro/specs/[generated-feature-name]/` directory with:
|
||||
- `spec.json` - Metadata and approval tracking
|
||||
- `requirements.md` - Lightweight template with project description
|
||||
|
||||
**Note**: design.md and tasks.md will be created by their respective commands during the development process.
|
||||
|
||||
### 3. Initialize spec.json Metadata
|
||||
Create initial metadata with approval tracking:
|
||||
```json
|
||||
{
|
||||
"feature_name": "{generated-feature-name}",
|
||||
"created_at": "current_timestamp",
|
||||
"updated_at": "current_timestamp",
|
||||
"language": "ja",
|
||||
"phase": "initialized",
|
||||
"approvals": {
|
||||
"requirements": {
|
||||
"generated": false,
|
||||
"approved": false
|
||||
},
|
||||
"design": {
|
||||
"generated": false,
|
||||
"approved": false
|
||||
},
|
||||
"tasks": {
|
||||
"generated": false,
|
||||
"approved": false
|
||||
}
|
||||
},
|
||||
"ready_for_implementation": false
|
||||
}
|
||||
```
|
||||
|
||||
### 4. Create Requirements Template
|
||||
Create requirements.md with project description:
|
||||
```markdown
|
||||
# Requirements Document
|
||||
|
||||
## Project Description (Input)
|
||||
{{args}}
|
||||
|
||||
## Requirements
|
||||
<!-- Will be generated in /kiro:spec-requirements phase -->
|
||||
```
|
||||
|
||||
### 5. Update GEMINI.md Reference
|
||||
Add the new spec to the active specifications list with the generated feature name and a brief description.
|
||||
|
||||
## Next Steps After Initialization
|
||||
|
||||
Follow the strict spec-driven development workflow:
|
||||
1. **`/kiro:spec-requirements [feature-name]`** - Create and generate requirements.md
|
||||
2. **`/kiro:spec-design [feature-name]`** - Create and generate design.md (requires approved requirements)
|
||||
3. **`/kiro:spec-tasks [feature-name]`** - Create and generate tasks.md (requires approved design)
|
||||
|
||||
**Important**: Each phase creates its respective file and requires approval before proceeding to the next phase.
|
||||
|
||||
## Output Format
|
||||
|
||||
After initialization, provide:
|
||||
1. Generated feature name and rationale
|
||||
2. Brief project summary
|
||||
3. Created spec.json path
|
||||
4. **Clear next step**: `/kiro:spec-requirements [feature-name]`
|
||||
5. Explanation that only spec.json was created, following stage-by-stage development principles
|
||||
|
||||
"""
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
description = "Generate comprehensive requirements for a specification"
|
||||
|
||||
prompt = """
|
||||
# Requirements Generation
|
||||
|
||||
Generate comprehensive requirements for feature: **{{args}}**
|
||||
|
||||
## Context Validation
|
||||
|
||||
### Steering Context
|
||||
- Architecture context: @.kiro/steering/structure.md
|
||||
- Technical constraints: @.kiro/steering/tech.md
|
||||
- Product context: @.kiro/steering/product.md
|
||||
- Custom steering: Load all "Always" mode custom steering files from .kiro/steering/
|
||||
|
||||
### Existing Spec Context
|
||||
- Current spec directory: !{bash -c 'ls -la .kiro/specs/{{args}}/'}
|
||||
- Current requirements: @.kiro/specs/{{args}}/requirements.md
|
||||
- Spec metadata: @.kiro/specs/{{args}}/spec.json
|
||||
|
||||
## Task: Generate Initial Requirements
|
||||
|
||||
Generate an initial set of requirements in EARS format based on the feature idea, then iterate with the user to refine them until they are complete and accurate.
|
||||
|
||||
Don't focus on implementation details in this phase. Instead, just focus on writing requirements which will later be turned into a design.
|
||||
|
||||
### Requirements Generation Guidelines
|
||||
1. **Focus on Core Functionality**: Start with the essential features from the user's idea
|
||||
2. **Use EARS Format**: All acceptance criteria must use proper EARS syntax
|
||||
3. **No Sequential Questions**: Generate initial version first, then iterate based on user feedback
|
||||
4. **Keep It Manageable**: Create a solid foundation that can be expanded through user review
|
||||
5. **Choose an appropriate subject**: For software projects, use the concrete system/service name (e.g., "Checkout Service"). For non-software, select a responsible subject (e.g., process/workflow, team/role, artifact/document, campaign, protocol).
|
||||
|
||||
### 1. EARS Format Requirements
|
||||
|
||||
**EARS (Easy Approach to Requirements Syntax)** is the recommended format for acceptance criteria:
|
||||
|
||||
**Primary EARS Patterns:**
|
||||
- WHEN [event/condition] THEN [system/subject] SHALL [response]
|
||||
- IF [precondition/state] THEN [system/subject] SHALL [response]
|
||||
- WHILE [ongoing condition] THE [system/subject] SHALL [continuous behavior]
|
||||
- WHERE [location/context/trigger] THE [system/subject] SHALL [contextual behavior]
|
||||
|
||||
**Combined Patterns:**
|
||||
- WHEN [event] AND [additional condition] THEN [system/subject] SHALL [response]
|
||||
- IF [condition] AND [additional condition] THEN [system/subject] SHALL [response]
|
||||
|
||||
### 2. Requirements Document Structure
|
||||
Generate requirements.md in the language specified in spec.json (check `@.kiro/specs/{{args}}/spec.json` for "language" field):
|
||||
|
||||
```markdown
|
||||
# Requirements Document
|
||||
|
||||
## Introduction
|
||||
[Clear introduction summarizing the feature and its business value]
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement 1: [Major Objective Area]
|
||||
**Objective:** As a [role/stakeholder], I want [feature/capability/outcome], so that [benefit]
|
||||
|
||||
#### Acceptance Criteria
|
||||
This section should have EARS requirements
|
||||
|
||||
1. WHEN [event] THEN [system/subject] SHALL [response]
|
||||
2. IF [precondition] THEN [system/subject] SHALL [response]
|
||||
3. WHILE [ongoing condition] THE [system/subject] SHALL [continuous behavior]
|
||||
4. WHERE [location/context/trigger] THE [system/subject] SHALL [contextual behavior]
|
||||
|
||||
### Requirement 2: [Next Major Objective Area]
|
||||
**Objective:** As a [role/stakeholder], I want [feature/capability/outcome], so that [benefit]
|
||||
|
||||
1. WHEN [event] THEN [system/subject] SHALL [response]
|
||||
2. WHEN [event] AND [condition] THEN [system/subject] SHALL [response]
|
||||
|
||||
### Requirement 3: [Additional Major Areas]
|
||||
[Continue pattern for all major functional areas]
|
||||
```
|
||||
|
||||
### 3. Update Metadata
|
||||
Update spec.json with:
|
||||
```json
|
||||
{
|
||||
"phase": "requirements-generated",
|
||||
"approvals": {
|
||||
"requirements": {
|
||||
"generated": true,
|
||||
"approved": false
|
||||
}
|
||||
},
|
||||
"updated_at": "current_timestamp"
|
||||
}
|
||||
```
|
||||
|
||||
### 4. Document Generation Only
|
||||
Generate the requirements document content ONLY. Do not include any review or approval instructions in the actual document file.
|
||||
|
||||
---
|
||||
|
||||
## Next Phase: Interactive Approval
|
||||
|
||||
After generating requirements.md, review the requirements and choose:
|
||||
|
||||
**If requirements look good:**
|
||||
Run `/kiro:spec-design {{args}} -y` to proceed to design phase
|
||||
|
||||
**If requirements need modification:**
|
||||
Request changes, then re-run this command after modifications
|
||||
|
||||
The `-y` flag auto-approves requirements and generates design directly, streamlining the workflow while maintaining review enforcement.
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Check spec.json for language** - Use the language specified in the metadata
|
||||
2. **Generate initial requirements** based on the feature idea WITHOUT asking sequential questions first
|
||||
3. **Apply EARS format** - Use proper EARS syntax patterns for all acceptance criteria
|
||||
4. **Focus on core functionality** - Start with essential features and user workflows
|
||||
5. **Structure clearly** - Group related functionality into logical requirement areas
|
||||
6. **Make requirements testable** - Each acceptance criterion should be verifiable
|
||||
7. **Update tracking metadata** upon completion
|
||||
|
||||
Generate requirements that provide a solid foundation for the design phase, focusing on the core functionality from the feature idea.
|
||||
think deeply
|
||||
"""
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
description = "Show specification status and progress"
|
||||
argument-hint = "[feature-name]"
|
||||
|
||||
prompt = """
|
||||
# Specification Status
|
||||
|
||||
Show current status and progress for feature: **{{args}}**
|
||||
|
||||
## Spec Context
|
||||
|
||||
### Spec Files
|
||||
- Spec directory: !{bash -c 'ls -la .kiro/specs/{{args}}/'}
|
||||
- Spec metadata: @.kiro/specs/{{args}}/spec.json
|
||||
- Requirements: @.kiro/specs/{{args}}/requirements.md
|
||||
- Design: @.kiro/specs/{{args}}/design.md
|
||||
- Tasks: @.kiro/specs/{{args}}/tasks.md
|
||||
|
||||
### All Specs Overview
|
||||
- Available specs: !{bash -c 'ls -la .kiro/specs/'}
|
||||
- Active specs: !{bash -c 'find .kiro/specs/ -name "spec.json" -exec grep -l "implementation_ready.*true" {} +'}
|
||||
|
||||
## Task: Generate Status Report
|
||||
|
||||
Create comprehensive status report for the specification in the language specified in spec.json (check `@.kiro/specs/{{args}}/spec.json` for "language" field):
|
||||
|
||||
### 1. Specification Overview
|
||||
Display:
|
||||
- Feature name and description
|
||||
- Creation date and last update
|
||||
- Current phase (requirements/design/tasks/implementation)
|
||||
- Overall completion percentage
|
||||
|
||||
### 2. Phase Status
|
||||
For each phase, show:
|
||||
- ✅ **Requirements Phase**: [completion %]
|
||||
- Requirements count: [number]
|
||||
- Acceptance criteria defined: [yes/no]
|
||||
- Requirements coverage: [complete/partial/missing]
|
||||
|
||||
- ✅ **Design Phase**: [completion %]
|
||||
- Architecture documented: [yes/no]
|
||||
- Components defined: [yes/no]
|
||||
- Diagrams created: [yes/no]
|
||||
- Integration planned: [yes/no]
|
||||
|
||||
- ✅ **Tasks Phase**: [completion %]
|
||||
- Total tasks: [number]
|
||||
- Completed tasks: [number]
|
||||
- Remaining tasks: [number]
|
||||
- Blocked tasks: [number]
|
||||
|
||||
### 3. Implementation Progress
|
||||
If in implementation phase:
|
||||
- Task completion breakdown
|
||||
- Current blockers or issues
|
||||
- Estimated time to completion
|
||||
- Next actions needed
|
||||
|
||||
#### Task Completion Tracking
|
||||
- Parse tasks.md checkbox status: `- [x]` (completed) vs `- [ ]` (pending)
|
||||
- Count completed vs total tasks
|
||||
- Show completion percentage
|
||||
- Identify next uncompleted task
|
||||
|
||||
### 4. Quality Metrics
|
||||
Show:
|
||||
- Requirements coverage: [percentage]
|
||||
- Design completeness: [percentage]
|
||||
- Task granularity: [appropriate/too large/too small]
|
||||
- Dependencies resolved: [yes/no]
|
||||
|
||||
### 5. Recommendations
|
||||
Based on status, provide:
|
||||
- Next steps to take
|
||||
- Potential issues to address
|
||||
- Suggested improvements
|
||||
- Missing elements to complete
|
||||
|
||||
### 6. Steering Alignment
|
||||
Check alignment with steering documents:
|
||||
- Architecture consistency: [aligned/misaligned]
|
||||
- Technology stack compliance: [compliant/non-compliant]
|
||||
- Product requirements alignment: [aligned/misaligned]
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Check spec.json for language** - Use the language specified in the metadata
|
||||
2. **Parse all spec files** to understand current state
|
||||
3. **Calculate completion percentages** for each phase
|
||||
4. **Identify next actions** based on current progress
|
||||
5. **Highlight any blockers** or issues
|
||||
6. **Provide clear recommendations** for moving forward
|
||||
7. **Check steering alignment** to ensure consistency
|
||||
|
||||
Generate status report that provides clear visibility into spec progress and next steps.
|
||||
"""
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
description = "Generate implementation tasks for a specification"
|
||||
|
||||
prompt = """
|
||||
# Implementation Tasks
|
||||
|
||||
Generate detailed implementation tasks for feature: **{{args}}**
|
||||
|
||||
## Task: Generate Implementation Tasks
|
||||
|
||||
### Prerequisites & Context Loading
|
||||
- If invoked with `-y` flag: Auto-approve requirements and design in `spec.json`
|
||||
- Otherwise: Stop if requirements/design missing or unapproved with message:
|
||||
"Run `/kiro:spec-requirements` and `/kiro:spec-design` first, or use `-y` flag to auto-approve"
|
||||
- If tasks.md exists: Prompt [o]verwrite/[m]erge/[c]ancel
|
||||
|
||||
**Context Loading (Full Paths)**:
|
||||
1. `.kiro/specs/{{args}}/requirements.md` - Feature requirements (EARS format)
|
||||
2. `.kiro/specs/{{args}}/design.md` - Technical design document
|
||||
3. `.kiro/steering/` - Project-wide guidelines and constraints:
|
||||
- **Core files (always load)**:
|
||||
- @.kiro/steering/product.md - Business context, product vision, user needs
|
||||
- @.kiro/steering/tech.md - Technology stack, frameworks, libraries
|
||||
- @.kiro/steering/structure.md - File organization, naming conventions, code patterns
|
||||
- **Custom steering files** (load all EXCEPT "Manual" mode in `AGENTS.md`):
|
||||
- Any additional `*.md` files in `.kiro/steering/` directory
|
||||
- Examples: `api.md`, `testing.md`, `security.md`, etc.
|
||||
- (Task planning benefits from comprehensive context)
|
||||
4. `.kiro/specs/{{args}}/tasks.md` - Existing tasks (only if merge mode)
|
||||
|
||||
### CRITICAL Task Numbering Rules (MUST FOLLOW)
|
||||
|
||||
**⚠️ MANDATORY: Sequential major task numbering & hierarchy limits**
|
||||
- Major tasks: 1, 2, 3, 4, 5... (MUST increment sequentially)
|
||||
- Sub-tasks: 1.1, 1.2, 2.1, 2.2... (reset per major task)
|
||||
- **Maximum 2 levels of hierarchy** (no 1.1.1 or deeper)
|
||||
- Format exactly as:
|
||||
```markdown
|
||||
- [ ] 1. Major task description
|
||||
- [ ] 1.1 Sub-task description
|
||||
- Detail item 1
|
||||
- Detail item 2
|
||||
- _Requirements: X.X, Y.Y_
|
||||
|
||||
- [ ] 1.2 Sub-task description
|
||||
- Detail items...
|
||||
- _Requirements: X.X_
|
||||
|
||||
- [ ] 2. Next major task (NOT 1 again!)
|
||||
- [ ] 2.1 Sub-task...
|
||||
```
|
||||
|
||||
### Task Generation Rules
|
||||
|
||||
1. **Natural language descriptions**: Focus on capabilities and outcomes, not code structure
|
||||
- Describe **what functionality to achieve**, not file locations or code organization
|
||||
- Specify **business logic and behavior**, not method signatures or type definitions
|
||||
- Reference **features and capabilities**, not class names or API contracts
|
||||
- Use **domain language**, not programming constructs
|
||||
- **Avoid**: File paths, function/method names, type signatures, class/interface names, specific data structures
|
||||
- **Include**: User-facing functionality, business rules, system behaviors, data relationships
|
||||
- Implementation details (files, methods, types) come from design.md
|
||||
2. **Task integration & progression**:
|
||||
- Each task must build on previous outputs (no orphaned code)
|
||||
- End with integration tasks to wire everything together
|
||||
- No hanging features - every component must connect to the system
|
||||
- Incremental complexity - no big jumps between tasks
|
||||
- Validate core functionality early in the sequence
|
||||
3. **Flexible task sizing**:
|
||||
- Major tasks: As many sub-tasks as logically needed
|
||||
- Sub-tasks: 1-3 hours each, 3-10 details per sub
|
||||
- Group by cohesion, not arbitrary numbers
|
||||
- Balance between too granular and too broad
|
||||
4. **Requirements mapping**: End details with `_Requirements: X.X, Y.Y_` or `_Requirements: [description]_`
|
||||
5. **Code-only focus**: Include ONLY coding/testing tasks, exclude deployment/docs/user testing
|
||||
|
||||
### Example Structure (FORMAT REFERENCE ONLY)
|
||||
|
||||
```markdown
|
||||
# Implementation Plan
|
||||
|
||||
- [ ] 1. Set up project foundation and infrastructure
|
||||
- Initialize project with required technology stack
|
||||
- Configure server infrastructure and request handling
|
||||
- Establish data storage and caching layer
|
||||
- Set up configuration and environment management
|
||||
- _Requirements: All requirements need foundational setup_
|
||||
|
||||
- [ ] 2. Build authentication and user management system
|
||||
- [ ] 2.1 Implement core authentication functionality
|
||||
- Set up user data storage with validation rules
|
||||
- Implement secure authentication mechanism
|
||||
- Build user registration functionality
|
||||
- Add login and session management features
|
||||
- _Requirements: 7.1, 7.2_
|
||||
|
||||
- [ ] 2.2 Enable email service integration
|
||||
- Implement secure credential storage system
|
||||
- Build authentication flow for email providers
|
||||
- Create email connection validation logic
|
||||
- Develop email account management features
|
||||
- _Requirements: 5.1, 5.2, 5.4_
|
||||
```
|
||||
|
||||
### Requirements Coverage Check
|
||||
- **MANDATORY**: Ensure ALL requirements from requirements.md are covered
|
||||
- Cross-reference every requirement ID with task mappings
|
||||
- If gaps found: Return to requirements or design phase
|
||||
- No requirement should be left without corresponding tasks
|
||||
|
||||
### Document Generation
|
||||
- Generate `.kiro/specs/{{args}}/tasks.md` using the exact numbering format above
|
||||
- **Language**: Use language from `spec.json.language` field, default to English
|
||||
- **Task descriptions**: Use natural language for "what to do" (implementation details in design.md)
|
||||
- Update `.kiro/specs/{{args}}/spec.json`:
|
||||
- Set `phase: "tasks-generated"`
|
||||
- Set approvals map exactly as:
|
||||
- `approvals.tasks = { "generated": true, "approved": false }`
|
||||
- Preserve existing metadata (e.g., `language`), do not remove unrelated fields
|
||||
- If invoked with `-y` flag: ensure the above approval booleans are applied even if previously unset/false
|
||||
- Set `updated_at` to current ISO8601 timestamp
|
||||
- Use file tools only (no shell commands)
|
||||
|
||||
---
|
||||
|
||||
## INTERACTIVE APPROVAL IMPLEMENTED (Not included in document)
|
||||
|
||||
The following is for Claude Code conversation only - NOT for the generated document:
|
||||
|
||||
## Next Phase: Implementation Ready
|
||||
|
||||
After generating tasks.md, review the implementation tasks:
|
||||
|
||||
**If tasks look good:**
|
||||
Begin implementation following the generated task sequence
|
||||
|
||||
**If tasks need modification:**
|
||||
Request changes and re-run this command after modifications
|
||||
|
||||
Tasks represent the final planning phase - implementation can begin once tasks are approved.
|
||||
|
||||
**Final approval process for implementation**:
|
||||
```
|
||||
📋 Tasks review completed. Ready for implementation.
|
||||
📄 Generated: .kiro/specs/{{args}}/tasks.md
|
||||
✅ All phases approved. Implementation can now begin.
|
||||
```
|
||||
|
||||
### Next Steps: Implementation
|
||||
Once tasks are approved, start implementation:
|
||||
```bash
|
||||
/kiro:spec-impl {{args}} # Execute all pending tasks
|
||||
/kiro:spec-impl {{args}} 1.1 # Execute specific task
|
||||
/kiro:spec-impl {{args}} 1,2,3 # Execute multiple tasks
|
||||
```
|
||||
|
||||
**Implementation Tips**:
|
||||
- Use `/clear` if conversation becomes too long, then continue with spec commands
|
||||
- All spec files (.kiro/specs/) are preserved and will be reloaded as needed
|
||||
|
||||
### Review Checklist (for user reference):
|
||||
- [ ] Tasks are properly sized (1-3 hours each)
|
||||
- [ ] All requirements are covered by tasks
|
||||
- [ ] Task dependencies are correct
|
||||
- [ ] Technology choices match the design
|
||||
- [ ] Testing tasks are included
|
||||
|
||||
### Implementation Instructions
|
||||
When tasks are approved, the implementation phase begins:
|
||||
1. Work through tasks sequentially
|
||||
2. Mark tasks as completed in tasks.md
|
||||
3. Each task should produce working, tested code
|
||||
4. Commit code after each major task completion
|
||||
|
||||
think deeply
|
||||
"""
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
description = "Create custom Kiro steering documents for specialized project contexts"
|
||||
|
||||
prompt = """
|
||||
# Kiro Custom Steering Creation
|
||||
|
||||
Create custom steering documents in `.kiro/steering/` for specialized contexts beyond the three foundational files (product.md, tech.md, structure.md).
|
||||
|
||||
## Current Steering Status
|
||||
|
||||
### Existing Steering Documents
|
||||
- Core steering files: !{bash -c 'ls -la .kiro/steering/*.md 2>/dev/null || echo "No steering directory found"'}
|
||||
- Custom steering count: !{bash -c 'find .kiro/steering -maxdepth 1 -name '"'"'*.md'"'"' ! -name '"'"'product.md'"'"' ! -name '"'"'tech.md'"'"' ! -name '"'"'structure.md'"'"' 2>/dev/null | wc -l || echo "0"'}
|
||||
|
||||
### Project Analysis
|
||||
- Specialized areas: !{bash -c 'find . -name "test*" -o -name "spec*" -o -name "api" -o -name "auth" -o -name "security" 2>/dev/null || echo "No specialized directories found"'}
|
||||
- Config patterns: !{bash -c 'find . -name "*.config.*" -o -name "*rc.*" -o -name ".*rc" 2>/dev/null || echo "No config files found"'}
|
||||
|
||||
## Task: Create Custom Steering Document
|
||||
|
||||
You will create a new custom steering document based on user requirements. Common use cases include:
|
||||
|
||||
### Common Custom Steering Types
|
||||
|
||||
1. **API Standards** (`api-standards.md`)
|
||||
- REST/GraphQL conventions
|
||||
- Error handling patterns
|
||||
- Authentication/authorization approaches
|
||||
- Rate limiting and pagination
|
||||
- API versioning strategy
|
||||
|
||||
2. **Testing Approach** (`testing.md`)
|
||||
- Test file organization
|
||||
- Naming conventions for tests
|
||||
- Mocking strategies
|
||||
- Coverage requirements
|
||||
- E2E vs unit vs integration testing
|
||||
|
||||
3. **Code Style Guidelines** (`code-style.md`)
|
||||
- Language-specific conventions
|
||||
- Formatting rules beyond linters
|
||||
- Comment standards
|
||||
- Function/variable naming patterns
|
||||
- Code organization principles
|
||||
|
||||
4. **Security Policies** (`security.md`)
|
||||
- Input validation requirements
|
||||
- Authentication patterns
|
||||
- Secrets management
|
||||
- OWASP compliance guidelines
|
||||
- Security review checklist
|
||||
|
||||
5. **Database Conventions** (`database.md`)
|
||||
- Schema design patterns
|
||||
- Migration strategies
|
||||
- Query optimization guidelines
|
||||
- Connection pooling settings
|
||||
- Backup and recovery procedures
|
||||
|
||||
6. **Performance Standards** (`performance.md`)
|
||||
- Load time requirements
|
||||
- Memory usage limits
|
||||
- Optimization techniques
|
||||
- Caching strategies
|
||||
- Monitoring and profiling
|
||||
|
||||
7. **Deployment Workflow** (`deployment.md`)
|
||||
- CI/CD pipeline stages
|
||||
- Environment configurations
|
||||
- Release procedures
|
||||
- Rollback strategies
|
||||
- Health check requirements
|
||||
|
||||
## Inclusion Mode Selection
|
||||
|
||||
Choose the inclusion mode based on how frequently and in what context this steering document should be referenced:
|
||||
|
||||
### 1. Always Included (Use sparingly for custom files)
|
||||
- **When to use**: Universal standards that apply to ALL code (security policies, core conventions)
|
||||
- **Impact**: Increases context size for every interaction
|
||||
- **Example**: `security-standards.md` for critical security requirements
|
||||
- **Recommendation**: Only use for truly universal guidelines
|
||||
|
||||
### 2. Conditional Inclusion (Recommended for most custom files)
|
||||
- **When to use**: Domain-specific guidelines for particular file types or directories
|
||||
- **File patterns**: `"*.test.js"`, `"src/api/**/*"`, `"**/auth/*"`, `"*.config.*"`
|
||||
- **Example**: `testing-approach.md` only loads when editing test files
|
||||
- **Benefits**: Relevant context without overwhelming general interactions
|
||||
|
||||
### 3. Manual Inclusion (Best for specialized contexts)
|
||||
- **When to use**: Specialized knowledge needed occasionally
|
||||
- **Usage**: Reference with `@filename.md` during specific conversations
|
||||
- **Example**: `deployment-runbook.md` for deployment-specific tasks
|
||||
- **Benefits**: Available when needed, doesn't clutter routine interactions
|
||||
|
||||
## Document Structure Guidelines
|
||||
|
||||
Create the custom steering document with:
|
||||
|
||||
1. **Clear Title and Purpose**
|
||||
- What aspect of the project this document covers
|
||||
- When this guidance should be applied
|
||||
|
||||
2. **Specific Guidelines**
|
||||
- Concrete rules and patterns to follow
|
||||
- Rationale for important decisions
|
||||
|
||||
3. **Code Examples**
|
||||
- Show correct implementation patterns
|
||||
- Include counter-examples if helpful
|
||||
|
||||
4. **Integration Points**
|
||||
- How this relates to other steering documents
|
||||
- Dependencies or prerequisites
|
||||
|
||||
## Security and Quality Guidelines
|
||||
|
||||
### Security Requirements
|
||||
- **Never include sensitive data**: No API keys, passwords, database URLs, secrets
|
||||
- **Review sensitive context**: Avoid internal server names, private API endpoints
|
||||
- **Team access awareness**: All steering content is shared with team members
|
||||
|
||||
### Content Quality Standards
|
||||
- **Single responsibility**: One steering file = one domain (don't mix API + database guidelines)
|
||||
- **Concrete examples**: Include code snippets and real project examples
|
||||
- **Clear rationale**: Explain WHY certain approaches are preferred
|
||||
- **Maintainable size**: Target 2-3 minute read time per file
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Ask the user** for:
|
||||
- Document name (descriptive filename ending in .md)
|
||||
- Topic/purpose of the custom steering
|
||||
- Inclusion mode preference
|
||||
- Specific patterns for conditional inclusion (if applicable)
|
||||
|
||||
2. **Create the document** in `.kiro/steering/` with:
|
||||
- Clear, focused content (2-3 minute read)
|
||||
- Practical examples
|
||||
- Consistent formatting with other steering files
|
||||
|
||||
3. **Document the inclusion mode** by adding a comment at the top:
|
||||
```markdown
|
||||
<!-- Inclusion Mode: Always | Conditional: "pattern" | Manual -->
|
||||
```
|
||||
|
||||
4. **Validate** that the document:
|
||||
- Doesn't duplicate existing steering content
|
||||
- Provides unique value for the specified context
|
||||
- Follows markdown best practices
|
||||
|
||||
Remember: Custom steering documents should supplement, not replace, the foundational three files. They provide specialized context for specific aspects of your project.
|
||||
"""
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
description = "Create or update Kiro steering documents intelligently based on project state"
|
||||
|
||||
prompt = """
|
||||
# Kiro Steering Management
|
||||
|
||||
Intelligently create or update steering documents in `.kiro/steering/` to maintain accurate project knowledge for spec-driven development. This command detects existing documents and handles them appropriately.
|
||||
|
||||
## Existing Files Check
|
||||
|
||||
### Current steering documents status
|
||||
- Product overview: !{bash -c '[ -f ".kiro/steering/product.md" ] && echo "✅ EXISTS - Will be updated preserving custom content" || echo "📝 Not found - Will be created"'}
|
||||
- Technology stack: !{bash -c '[ -f ".kiro/steering/tech.md" ] && echo "✅ EXISTS - Will be updated preserving custom content" || echo "📝 Not found - Will be created"'}
|
||||
- Project structure: !{bash -c '[ -f ".kiro/steering/structure.md" ] && echo "✅ EXISTS - Will be updated preserving custom content" || echo "📝 Not found - Will be created"'}
|
||||
- Custom steering files: !{bash -c 'find .kiro/steering -maxdepth 1 -name '"'"'*.md'"'"' ! -name '"'"'product.md'"'"' ! -name '"'"'tech.md'"'"' ! -name '"'"'structure.md'"'"' 2>/dev/null && echo "🔧 Custom files found - Will be preserved" || echo "📋 No custom files"'}
|
||||
|
||||
## Project Analysis
|
||||
|
||||
### Current Project State
|
||||
- Project files: !{bash -c 'find . -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.jsx" -o -name "*.tsx" -o -name "*.java" -o -name "*.go" -o -name "*.rs" 2>/dev/null || echo "No source files found"'}
|
||||
- Configuration files: !{bash -c 'find . -maxdepth 3 -name "package.json" -o -name "requirements.txt" -o -name "pom.xml" -o -name "Cargo.toml" -o -name "go.mod" -o -name "pyproject.toml" -o -name "tsconfig.json" 2>/dev/null || echo "No config files found"'}
|
||||
- Documentation: !{bash -c 'find . -maxdepth 3 -name "README*" -o -name "CHANGELOG*" -o -name "LICENSE*" -o -name "*.md" 2>/dev/null || echo "No documentation files found"'}
|
||||
|
||||
### Recent Changes (if updating)
|
||||
- Last steering update: !{bash -c 'git log -1 --oneline -- .kiro/steering/ 2>/dev/null || echo "No previous steering commits"'}
|
||||
- Commits since last steering update: !{bash -c 'git log --oneline --max-count=20 2>/dev/null || echo "Not a git repository"'}
|
||||
- Working tree status: !{bash -c 'git status --porcelain 2>/dev/null || echo "Not a git repository"'}
|
||||
|
||||
### Existing Documentation
|
||||
- Main README: @README.md
|
||||
- Package configuration: @package.json
|
||||
- Python requirements: @requirements.txt
|
||||
- TypeScript config: @tsconfig.json
|
||||
- Project documentation: @docs/
|
||||
|
||||
## Smart Update Strategy
|
||||
|
||||
Based on the existing files check above, this command will:
|
||||
|
||||
### For NEW files (showing "📝 Not found"):
|
||||
Generate comprehensive initial content covering all aspects of the project.
|
||||
|
||||
### For EXISTING files (showing "✅ EXISTS"):
|
||||
1. **Preserve user customizations** - Any manual edits or custom sections
|
||||
2. **Update factual information** - Dependencies, file structures, commands
|
||||
3. **Add new sections** - Only if significant new capabilities exist
|
||||
4. **Mark deprecated content** - Rather than deleting
|
||||
5. **Maintain formatting** - Keep consistent with existing style
|
||||
|
||||
## Inclusion Modes for Core Steering Files
|
||||
|
||||
The three core steering files (product.md, tech.md, structure.md) are designed to be **Always Included** - loaded in every AI interaction to provide consistent project context.
|
||||
|
||||
### Understanding Inclusion Modes
|
||||
- **Always Included (Default for core files)**: Loaded in every interaction - ensures consistent project knowledge
|
||||
- **Conditional**: Loaded only when working with matching file patterns (mainly for custom steering)
|
||||
- **Manual**: Referenced on-demand with @filename syntax (for specialized contexts)
|
||||
|
||||
### Core Files Strategy
|
||||
- `product.md`: Always - Business context needed for all development decisions
|
||||
- `tech.md`: Always - Technical constraints affect all code generation
|
||||
- `structure.md`: Always - Architectural decisions impact all file organization
|
||||
|
||||
## Task: Create or Update Steering Documents
|
||||
|
||||
### 1. Product Overview (`product.md`)
|
||||
|
||||
#### For NEW file:
|
||||
Generate comprehensive product overview including:
|
||||
- **Product Overview**: Brief description of what the product is
|
||||
- **Core Features**: Bulleted list of main capabilities
|
||||
- **Target Use Case**: Specific scenarios the product addresses
|
||||
- **Key Value Proposition**: Unique benefits and differentiators
|
||||
|
||||
#### For EXISTING file:
|
||||
Update only if there are:
|
||||
- **New features** added to the product
|
||||
- **Removed features** or deprecated functionality
|
||||
- **Changed use cases** or target audience
|
||||
- **Updated value propositions** or benefits
|
||||
|
||||
### 2. Technology Stack (`tech.md`)
|
||||
|
||||
#### For NEW file:
|
||||
Document the complete technology landscape:
|
||||
- **Architecture**: High-level system design
|
||||
- **Frontend**: Frameworks, libraries, build tools (if applicable)
|
||||
- **Backend**: Language, framework, server technology (if applicable)
|
||||
- **Development Environment**: Required tools and setup
|
||||
- **Common Commands**: Frequently used development commands
|
||||
- **Environment Variables**: Key configuration variables
|
||||
- **Port Configuration**: Standard ports used by services
|
||||
|
||||
#### For EXISTING file:
|
||||
Check for changes in:
|
||||
- **New dependencies** added via package managers
|
||||
- **Removed libraries** or frameworks
|
||||
- **Version upgrades** of major dependencies
|
||||
- **New development tools** or build processes
|
||||
- **Changed environment variables** or configuration
|
||||
- **Modified port assignments** or service architecture
|
||||
|
||||
### 3. Project Structure (`structure.md`)
|
||||
|
||||
#### For NEW file:
|
||||
Outline the codebase organization:
|
||||
- **Root Directory Organization**: Top-level structure with descriptions
|
||||
- **Subdirectory Structures**: Detailed breakdown of key directories
|
||||
- **Code Organization Patterns**: How code is structured
|
||||
- **File Naming Conventions**: Standards for naming files and directories
|
||||
- **Import Organization**: How imports/dependencies are organized
|
||||
- **Key Architectural Principles**: Core design decisions and patterns
|
||||
|
||||
#### For EXISTING file:
|
||||
Look for changes in:
|
||||
- **New directories** or major reorganization
|
||||
- **Changed file organization** patterns
|
||||
- **New or modified naming conventions**
|
||||
- **Updated architectural patterns** or principles
|
||||
- **Refactored code structure** or module boundaries
|
||||
|
||||
### 4. Custom Steering Files
|
||||
If custom steering files exist:
|
||||
- **Preserve them** - Do not modify unless specifically outdated
|
||||
- **Check relevance** - Note if they reference removed features
|
||||
- **Suggest new custom files** - If new specialized areas emerge
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Create `.kiro/steering/` directory** if it doesn't exist
|
||||
2. **Check existing files** to determine create vs update mode
|
||||
3. **Analyze the codebase** using available tools
|
||||
4. **For NEW files**: Generate comprehensive initial documentation
|
||||
5. **For EXISTING files**:
|
||||
- Read current content first
|
||||
- Preserve user customizations and comments
|
||||
- Update only factual/technical information
|
||||
- Maintain existing structure and style
|
||||
6. **Use clear markdown formatting** with proper headers and sections
|
||||
7. **Include concrete examples** where helpful for understanding
|
||||
8. **Focus on facts over assumptions** - document what exists
|
||||
9. **Follow spec-driven development principles**
|
||||
|
||||
## Important Principles
|
||||
|
||||
### Security Guidelines
|
||||
- **Never include sensitive data**: No API keys, passwords, database credentials, or personal information
|
||||
- **Review before commit**: Always review steering content before version control
|
||||
- **Team sharing consideration**: Remember steering files are shared with all project collaborators
|
||||
|
||||
### Content Quality Guidelines
|
||||
- **Single domain focus**: Each steering file should cover one specific area
|
||||
- **Clear, descriptive content**: Provide concrete examples and rationale for decisions
|
||||
- **Regular maintenance**: Review and update steering files after major project changes
|
||||
- **Actionable guidance**: Write specific, implementable guidelines rather than abstract principles
|
||||
|
||||
### Preservation Strategy
|
||||
- **User sections**: Any section not in the standard template should be preserved
|
||||
- **Custom examples**: User-added examples should be maintained
|
||||
- **Comments**: Inline comments or notes should be kept
|
||||
- **Formatting preferences**: Respect existing markdown style choices
|
||||
|
||||
### Update Philosophy
|
||||
- **Additive by default**: Add new information rather than replacing
|
||||
- **Mark deprecation**: Use strikethrough or [DEPRECATED] tags
|
||||
- **Date significant changes**: Add update timestamps for major changes
|
||||
- **Explain changes**: Brief notes on why something was updated
|
||||
|
||||
The goal is to maintain living documentation that stays current while respecting user customizations, supporting effective spec-driven development without requiring users to worry about losing their work.
|
||||
"""
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
description = "Interactive technical design quality review and validation"
|
||||
|
||||
prompt = """
|
||||
# Technical Design Validation
|
||||
|
||||
Interactive design quality review for feature: **{{args}}**
|
||||
|
||||
## Context Loading
|
||||
|
||||
### Prerequisites Validation
|
||||
- Design document must exist: `.kiro/specs/{{args}}/design.md`
|
||||
- If not exist, stop with message: "Run `/kiro:spec-design {{args}}` first to generate design document"
|
||||
|
||||
### Review Context
|
||||
- Spec metadata: @.kiro/specs/{{args}}/spec.json
|
||||
- Requirements document: @.kiro/specs/{{args}}/requirements.md
|
||||
- Design document: @.kiro/specs/{{args}}/design.md
|
||||
- Core steering documents:
|
||||
- Architecture: @.kiro/steering/structure.md
|
||||
- Technology: @.kiro/steering/tech.md
|
||||
- Product context: @.kiro/steering/product.md
|
||||
- Custom steering: All additional `.md` files in `.kiro/steering/` directory
|
||||
|
||||
## Task: Interactive Design Quality Review
|
||||
|
||||
### Review Methodology
|
||||
|
||||
**Focus**: Critical issues only - limit to 3 most important concerns
|
||||
**Format**: Interactive dialogue with immediate feedback and improvement suggestions
|
||||
**Outcome**: GO/NO-GO decision with clear rationale
|
||||
|
||||
### Core Review Criteria
|
||||
|
||||
#### 1. Existing Architecture Alignment (Critical)
|
||||
**Evaluation Points**:
|
||||
- Integration with existing system boundaries and layers
|
||||
- Consistency with established architectural patterns
|
||||
- Proper dependency direction and coupling management
|
||||
- Alignment with current module organization and responsibilities
|
||||
|
||||
**Review Questions**:
|
||||
- Does this design respect existing architectural boundaries?
|
||||
- Are new components properly integrated with existing systems?
|
||||
- Does the design follow established patterns and conventions?
|
||||
|
||||
#### 2. Design Consistency & Standards
|
||||
**Evaluation Points**:
|
||||
- Adherence to project naming conventions and code standards
|
||||
- Consistent error handling and logging strategies
|
||||
- Uniform approach to configuration and dependency management
|
||||
- Alignment with established data modeling patterns
|
||||
|
||||
**Review Questions**:
|
||||
- Is the design consistent with existing code standards?
|
||||
- Are error handling and configuration approaches unified?
|
||||
- Does naming and structure follow project conventions?
|
||||
|
||||
#### 3. Extensibility & Maintainability
|
||||
**Evaluation Points**:
|
||||
- Design flexibility for future requirements changes
|
||||
- Clear separation of concerns and single responsibility principle
|
||||
- Testability and debugging considerations
|
||||
- Documentation and code clarity requirements
|
||||
|
||||
**Review Questions**:
|
||||
- How well does this design handle future changes?
|
||||
- Are responsibilities clearly separated and testable?
|
||||
- Is the design complexity appropriate for the requirements?
|
||||
|
||||
#### 4. Type Safety & Interface Design
|
||||
**Evaluation Points** (for TypeScript projects):
|
||||
- Proper type definitions and interface contracts
|
||||
- Avoidance of `any` types and unsafe patterns
|
||||
- Clear API boundaries and data structure definitions
|
||||
- Input validation and error handling coverage
|
||||
|
||||
**Review Questions**:
|
||||
- Are types properly defined and interfaces clear?
|
||||
- Is the API design robust and well-defined?
|
||||
- Are edge cases and error conditions handled appropriately?
|
||||
|
||||
### Interactive Review Process
|
||||
|
||||
#### Step 1: Design Analysis
|
||||
Thoroughly analyze the design document against all review criteria, identifying the most critical issues that could impact:
|
||||
- System integration and compatibility
|
||||
- Long-term maintainability
|
||||
- Implementation complexity and risks
|
||||
- Requirements fulfillment accuracy
|
||||
|
||||
#### Step 2: Critical Issues Identification
|
||||
**Limit to 3 most important concerns maximum**. For each critical issue:
|
||||
|
||||
**Issue Format**:
|
||||
```
|
||||
🔴 **Critical Issue [1-3]**: [Brief title]
|
||||
**Concern**: [Specific problem description]
|
||||
**Impact**: [Why this matters for the project]
|
||||
**Suggestion**: [Concrete improvement recommendation]
|
||||
```
|
||||
|
||||
#### Step 3: Design Strengths Recognition
|
||||
Acknowledge 1-2 strong aspects of the design to maintain balanced feedback.
|
||||
|
||||
#### Step 4: GO/NO-GO Decision
|
||||
|
||||
**GO Criteria**:
|
||||
- No critical architectural misalignment
|
||||
- Requirements adequately addressed
|
||||
- Implementation path is clear and reasonable
|
||||
- Risks are acceptable and manageable
|
||||
|
||||
**NO-GO Criteria**:
|
||||
- Fundamental architectural conflicts
|
||||
- Critical requirements not addressed
|
||||
- Implementation approach has high failure risk
|
||||
- Design complexity disproportionate to requirements
|
||||
|
||||
### Output Format
|
||||
|
||||
Generate review in the language specified in spec.json (check `.kiro/specs/{{args}}/spec.json` for "language" field):
|
||||
|
||||
#### Design Review Summary
|
||||
Brief overview of the design's overall quality and readiness.
|
||||
|
||||
#### Critical Issues (Maximum 3)
|
||||
For each issue identified:
|
||||
- **Issue**: Clear problem statement
|
||||
- **Impact**: Why it matters
|
||||
- **Recommendation**: Specific improvement suggestion
|
||||
|
||||
#### Design Strengths
|
||||
1-2 positive aspects worth highlighting.
|
||||
|
||||
#### Final Assessment
|
||||
**Decision**: GO / NO-GO
|
||||
**Rationale**: Clear reasoning for the decision
|
||||
**Next Steps**: What should happen next
|
||||
|
||||
#### Interactive Discussion
|
||||
Engage in dialogue about:
|
||||
- Designer's perspective on identified issues
|
||||
- Alternative approaches or trade-offs
|
||||
- Clarification of design decisions
|
||||
- Agreement on necessary changes (if any)
|
||||
|
||||
## Review Guidelines
|
||||
|
||||
1. **Critical Focus**: Only flag issues that significantly impact success
|
||||
2. **Constructive Tone**: Provide solutions, not just criticism
|
||||
3. **Interactive Approach**: Engage in dialogue rather than one-way evaluation
|
||||
4. **Balanced Assessment**: Recognize both strengths and weaknesses
|
||||
5. **Clear Decision**: Make definitive GO/NO-GO recommendation
|
||||
6. **Actionable Feedback**: Ensure all suggestions are implementable
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Load all context documents** - Understand full project scope
|
||||
2. **Analyze design thoroughly** - Review against all criteria
|
||||
3. **Identify critical issues only** - Focus on most important problems
|
||||
4. **Engage interactively** - Discuss findings with user
|
||||
5. **Make clear decision** - Provide definitive GO/NO-GO
|
||||
6. **Guide next steps** - Clear direction for proceeding
|
||||
|
||||
**Remember**: This is quality assurance, not perfection seeking. The goal is ensuring the design is solid enough to proceed to implementation with acceptable risk.
|
||||
|
||||
---
|
||||
|
||||
## Next Phase: Task Generation
|
||||
|
||||
After design validation:
|
||||
|
||||
**If design passes validation (GO decision):**
|
||||
Run `/kiro:spec-tasks {{args}}` to generate implementation tasks
|
||||
|
||||
**Auto-approve and proceed:**
|
||||
Run `/kiro:spec-tasks {{args}} -y` to auto-approve requirements and design, then generate tasks directly
|
||||
"""
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
description = "Analyze implementation gap between requirements and existing codebase"
|
||||
|
||||
prompt = """
|
||||
# Implementation Gap Validation
|
||||
|
||||
Analyze implementation requirements and existing codebase for feature: **{{args}}**
|
||||
|
||||
## Context Validation
|
||||
|
||||
### Steering Context
|
||||
- Architecture context: @.kiro/steering/structure.md
|
||||
- Technical constraints: @.kiro/steering/tech.md
|
||||
- Product context: @.kiro/steering/product.md
|
||||
- Custom steering: Load all "Always" mode custom steering files from `.kiro/steering/`
|
||||
|
||||
### Existing Spec Context
|
||||
- Current spec directory: !{bash -c 'ls -la .kiro/specs/{{args}}/'}
|
||||
- Requirements document: @.kiro/specs/{{args}}/requirements.md
|
||||
- Spec metadata: @.kiro/specs/{{args}}/spec.json
|
||||
|
||||
## Task: Implementation Gap Analysis
|
||||
|
||||
### Prerequisites
|
||||
- Requirements document must exist: `.kiro/specs/{{args}}/requirements.md`
|
||||
- If not exist, stop with message: "Run `/kiro:spec-requirements {{args}}` first to generate requirements"
|
||||
|
||||
### Analysis Process
|
||||
|
||||
#### 1. Current State Investigation
|
||||
**Existing Codebase Analysis**:
|
||||
- Identify files and modules related to the feature domain
|
||||
- Map current architecture patterns, conventions, and tech stack usage
|
||||
- Document existing services, utilities, and reusable components
|
||||
- Understand current data models, APIs, and integration patterns
|
||||
|
||||
**Code Structure Assessment**:
|
||||
- Document file organization, naming conventions, and architectural layers
|
||||
- Extract import/export patterns and module dependency structures
|
||||
- Identify existing testing patterns (file placement, frameworks, mocking approaches)
|
||||
- Map API client, database, and authentication implementation approaches currently used
|
||||
- Note established coding standards and development practices
|
||||
|
||||
#### 2. Requirements Feasibility Analysis
|
||||
**Technical Requirements Extraction**:
|
||||
- Parse EARS format requirements from requirements.md
|
||||
- Identify technical components needed for each requirement
|
||||
- Extract non-functional requirements (security, performance, etc.)
|
||||
- Map business logic complexity and integration points
|
||||
|
||||
**Gap Identification**:
|
||||
- Missing technical capabilities vs requirements
|
||||
- Unknown technologies or external dependencies
|
||||
- Potential integration challenges with existing systems
|
||||
- Areas requiring research or proof-of-concept work
|
||||
|
||||
#### 3. Implementation Approach Options
|
||||
**Multiple Strategy Evaluation**:
|
||||
- **Option A**: Extend existing components/files
|
||||
- Which existing files/modules to extend
|
||||
- Compatibility with current patterns
|
||||
- Code complexity and maintainability impact
|
||||
|
||||
- **Option B**: Create new components (when justified)
|
||||
- Clear rationale for new file creation
|
||||
- Integration points with existing system
|
||||
- Responsibility boundaries and interfaces
|
||||
|
||||
- **Option C**: Hybrid approach
|
||||
- Combination of extension and new creation
|
||||
- Phased implementation strategy
|
||||
- Risk mitigation approach
|
||||
|
||||
#### 4. Technical Research Requirements
|
||||
**External Dependencies Analysis** (if any):
|
||||
- Required libraries, APIs, or services not currently used
|
||||
- Version compatibility with existing dependencies
|
||||
- Authentication, configuration, and setup requirements
|
||||
- Rate limits, usage constraints, and cost implications
|
||||
|
||||
**Knowledge Gap Assessment**:
|
||||
- Technologies unfamiliar to the team
|
||||
- Complex integration patterns requiring research
|
||||
- Performance or security considerations needing investigation
|
||||
- Best practice research requirements
|
||||
|
||||
#### 5. Implementation Complexity Assessment
|
||||
**Effort Estimation**:
|
||||
- **Small (S)**: 1-3 days, mostly using existing patterns
|
||||
- **Medium (M)**: 3-7 days, some new patterns or integrations
|
||||
- **Large (L)**: 1-2 weeks, significant new functionality
|
||||
- **Extra Large (XL)**: 2+ weeks, complex architecture changes
|
||||
|
||||
**Risk Factors**:
|
||||
- High: Unknown technologies, complex integrations, architectural changes
|
||||
- Medium: New patterns, external dependencies, performance requirements
|
||||
- Low: Extending existing patterns, well-understood technologies
|
||||
|
||||
### Output Format
|
||||
|
||||
Generate analysis in the language specified in spec.json (check `.kiro/specs/{{args}}/spec.json` for "language" field):
|
||||
|
||||
#### Analysis Summary
|
||||
- Feature scope and complexity overview
|
||||
- Key technical challenges identified
|
||||
- Overall implementation approach recommendation
|
||||
|
||||
#### Existing Codebase Insights
|
||||
- Relevant existing components and their current responsibilities
|
||||
- Established patterns and conventions to follow
|
||||
- Reusable utilities and services available
|
||||
|
||||
#### Implementation Strategy Options
|
||||
For each viable approach:
|
||||
- **Approach**: [Extension/New/Hybrid]
|
||||
- **Rationale**: Why this approach makes sense
|
||||
- **Trade-offs**: Pros and cons of this approach
|
||||
- **Complexity**: [S/M/L/XL] with reasoning
|
||||
|
||||
#### Technical Research Needs
|
||||
- External dependencies requiring investigation
|
||||
- Unknown technologies needing research
|
||||
- Integration patterns requiring proof-of-concept
|
||||
- Performance or security considerations to investigate
|
||||
|
||||
#### Recommendations for Design Phase
|
||||
- Preferred implementation approach with rationale
|
||||
- Key architectural decisions that need to be made
|
||||
- Areas requiring further investigation during design
|
||||
- Potential risks to address in design phase
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Check spec.json for language** - Use the language specified in the metadata
|
||||
2. **Prerequisites validation** - Ensure requirements are approved
|
||||
3. **Thorough investigation** - Analyze existing codebase comprehensively
|
||||
4. **Multiple options** - Present viable implementation approaches
|
||||
5. **Information focus** - Provide analysis, not final decisions
|
||||
6. **Research identification** - Flag areas needing investigation
|
||||
7. **Design preparation** - Set up design phase for success
|
||||
|
||||
**CRITICAL**: This is an analysis phase. Provide information and options, not final implementation decisions. The design phase will make strategic choices based on this analysis.
|
||||
|
||||
---
|
||||
|
||||
## Next Phase: Design Generation
|
||||
|
||||
After validation, proceed to design phase:
|
||||
|
||||
**Generate design based on analysis:**
|
||||
Run `/kiro:spec-design {{args}}` to create technical design document
|
||||
|
||||
**Auto-approve and proceed:**
|
||||
Run `/kiro:spec-design {{args}} -y` to auto-approve requirements and generate design directly
|
||||
"""
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
# Gemini CLI Spec-Driven Development
|
||||
|
||||
Kiro-style Spec Driven Development implementation using gemini cli slash commands.
|
||||
|
||||
## Project Context
|
||||
|
||||
### Paths
|
||||
- Steering: `.kiro/steering/`
|
||||
- Specs: `.kiro/specs/`
|
||||
- Commands: `.gemini/commands/`
|
||||
|
||||
### Steering vs Specification
|
||||
|
||||
**Steering** (`.kiro/steering/`) - Guide AI with project-wide rules and context
|
||||
**Specs** (`.kiro/specs/`) - Formalize development process for individual features
|
||||
|
||||
### Active Specifications
|
||||
- Check `.kiro/specs/` for active specifications
|
||||
- Use `/kiro:spec-status [feature-name]` to check progress
|
||||
|
||||
## Development Guidelines
|
||||
- Think in English, but generate responses in Japanese (思考は英語、回答の生成は日本語で行うように)
|
||||
|
||||
## Workflow
|
||||
|
||||
### Phase 0: Steering (Optional)
|
||||
`/kiro:steering` - Create/update steering documents
|
||||
`/kiro:steering-custom` - Create custom steering for specialized contexts
|
||||
|
||||
Note: Optional for new features or small additions. You can proceed directly to spec-init.
|
||||
|
||||
### Phase 1: Specification Creation
|
||||
1. `/kiro:spec-init [detailed description]` - Initialize spec with detailed project description
|
||||
2. `/kiro:spec-requirements [feature]` - Generate requirements document
|
||||
3. `/kiro:spec-design [feature]` - Interactive: "Have you reviewed requirements.md? [y/N]"
|
||||
4. `/kiro:spec-tasks [feature]` - Interactive: Confirms both requirements and design review
|
||||
|
||||
### Phase 2: Progress Tracking
|
||||
`/kiro:spec-status [feature]` - Check current progress and phases
|
||||
|
||||
## Development Rules
|
||||
1. **Consider steering**: Run `/kiro:steering` before major development (optional for new features)
|
||||
2. **Follow 3-phase approval workflow**: Requirements → Design → Tasks → Implementation
|
||||
3. **Approval required**: Each phase requires human review (interactive prompt or manual)
|
||||
4. **No skipping phases**: Design requires approved requirements; Tasks require approved design
|
||||
5. **Update task status**: Mark tasks as completed when working on them
|
||||
6. **Keep steering current**: Run `/kiro:steering` after significant changes
|
||||
7. **Check spec compliance**: Use `/kiro:spec-status` to verify alignment
|
||||
|
||||
## Steering Configuration
|
||||
|
||||
### Current Steering Files
|
||||
Managed by `/kiro:steering` command. Updates here reflect command changes.
|
||||
|
||||
### Active Steering Files
|
||||
- `product.md`: Always included - Product context and business objectives
|
||||
- `tech.md`: Always included - Technology stack and architectural decisions
|
||||
- `structure.md`: Always included - File organization and code patterns
|
||||
|
||||
### Custom Steering Files
|
||||
<!-- Added by /kiro:steering-custom command -->
|
||||
<!-- Format:
|
||||
- `filename.md`: Mode - Pattern(s) - Description
|
||||
Mode: Always|Conditional|Manual
|
||||
Pattern: File patterns for Conditional mode
|
||||
-->
|
||||
|
||||
### Inclusion Modes
|
||||
- **Always**: Loaded in every interaction (default)
|
||||
- **Conditional**: Loaded for specific file patterns (e.g., "*.test.js")
|
||||
- **Manual**: Reference with `@filename.md` syntax
|
||||
|
||||
Loading…
Reference in New Issue