The Design-First workflow starts with a technical design or system architecture and derives feasible requirements from it.
This workflow is ideal when:
From the Kiro panel or command palette, create a new Feature Spec. When prompted, select Design-First workflow.
Select the level of architectural detail you want to provide:
Full architecture including:
Best for: Complex systems, team collaboration, thorough documentation
Focused on implementation details:
Best for: Rapid prototyping, quick feasibility checks, solo development
Kiro generates a design.md document based on your prompt and chosen detail level.
What's included:
Your role:
Tip: The design document opens in preview mode by default for better readability. Click "Edit" to make changes.
Once you confirm the architecture, Kiro derives requirements that are feasible given the technical design.
What's generated:
Key benefit: Requirements are guaranteed to be technically feasible since they're derived from a validated architecture.
Your role:
Identical to Requirements-First workflow - Kiro generates executable implementation tasks.
Execute tasks individually or run all tasks to implement the feature.
Be explicit about:
Example prompt:
Create an MCP server for querying our Redshift data lake. Must use FastAPI and mcp-python. Target: <100ms query latency for 95th percentile. No UI components needed - pure API server.
The power of Design-First is exploring technical designs. Take time to:
If multiple people will work on the implementation, choose High Level Design for better documentation and shared understanding.
When you want to quickly check if an idea is feasible, Low Level Design gets you to validation faster with implementation details.
If you have architecture diagrams from draw.io, Lucidchart, or hand-drawn sketches:
Scenario: You have a design document from another tool or meeting notes.
Approach:
Scenario: You want to know if a feature is possible with specific constraints.
Approach:
Scenario: Customer specifies exact services (Lambda, S3, DynamoDB) and you need to prototype quickly.
Approach:
Scenario: System must meet specific latency, throughput, or compliance requirements.
Approach:
If generated requirements don't align with what you want:
If the architecture lacks specificity:
If you need to modify the design after requirements are generated:
Design a real-time notification system using AWS services. Must support: - 100k concurrent WebSocket connections - <50ms message delivery latency - Message persistence for offline users - Integration with existing user authentication service Use API Gateway WebSocket, Lambda, DynamoDB, and SQS. Include architecture diagram showing component interactions and data flow.
Build a rate limiter middleware for our Express API. Requirements: - Token bucket algorithm - Per-user and per-IP limits - Redis for distributed state - Configurable limits per endpoint Show pseudocode for the core algorithm and interface definitions.
Design-First Workflow