Welcome to the Kiro System
Relevant source files
The following files were used as context for generating this wiki page:- README.md
- skills/spec-driven-development/SKILL.md
- skills/create-steering-documents/SKILL.md
- kiro-web-app/src/pages/SystemDocs.tsx
- spec-process-guide/process/design-phase.md
- spec-process-guide/methodology/philosophy.md
- kiro-web-app/README.md
- spec-process-guide/resources/standards.md
- spec-process-guide/templates/design-template.md
The Kiro System is an AI assistant and IDE built specifically for developers. Its primary purpose is to facilitate a structured and systematic approach to software development through its core methodology: Spec-Driven Development. This methodology transforms vague feature ideas into well-defined, implementable solutions by breaking the process into three distinct phases: Requirements, Design, and Tasks. The system is designed to enhance developer productivity, improve code quality, and enable effective collaboration with AI.
Kiro's capabilities are exposed through various mechanisms, including a web application for documentation, a set of installable skills for AI assistants like Claude Code, and a system of "Steering Documents" that provide project-specific context to the AI. The entire system is built on the philosophy of "Clarity Before Code," ensuring that a deep understanding of requirements and a solid technical plan are established before implementation begins.
Sources: kiro-web-app/src/pages/SystemDocs.tsx:5-6, skills/spec-driven-development/SKILL.md:3-4, spec-process-guide/methodology/philosophy.md:12-15
Core Philosophy: Spec-Driven Development
The Kiro System is founded on the principle of Spec-Driven Development, which emphasizes clarity, iterative refinement, and documentation as a communication tool. This approach reduces ambiguity and cognitive load by separating the development process into distinct phases of thinking.
Sources: spec-process-guide/methodology/philosophy.md:12-15, 54-58
The Three-Phase Workflow
The workflow ensures that a feature is well-understood, well-designed, and well-planned before any code is written. Each phase has a clear purpose and builds upon the previous one, with approval gates to maintain quality.
Sources: spec-process-guide/process/README.md:27-33, skills/spec-driven-development/SKILL.md:19-21
This diagram illustrates the sequential and iterative nature of the three-phase workflow.
| Phase | Purpose | Key Activities |
|---|---|---|
| 1. Requirements | Transform vague ideas into clear, testable requirements. | Capture user stories, define acceptance criteria using EARS, identify edge cases. |
| 2. Design | Create a comprehensive technical plan for implementation. | Research approaches, define system architecture, specify data models and interfaces. |
| 3. Tasks | Break the design into actionable, sequential implementation steps. | Convert design elements into coding tasks, sequence tasks, define completion criteria. |
Sources: skills/spec-driven-development/SKILL.md:23-26, 44-47, 68-71
A key part of the Requirements phase is using the EARS (Easy Approach to Requirements Syntax) format to ensure clarity.
Sources: skills/spec-driven-development/SKILL.md:28-31
**User Story:** As a new user, I want to create an account, so that I can access personalized features.
**Acceptance Criteria:**
1. WHEN user provides valid email and password THEN system SHALL create new account
2. WHEN user provides existing email THEN system SHALL display "email already registered" error
Sources: skills/spec-driven-development/SKILL.md:33-39, spec-process-guide/resources/standards.md:16-19
Kiro System Capabilities
Kiro is more than a methodology; it's an active AI assistant with a range of capabilities designed to integrate into a developer's workflow.
Sources: kiro-web-app/src/pages/SystemDocs.tsx:5-6
Core Functions
- System Context Awareness: Understands the user's OS and current directory.
- File System Interaction: Can recommend edits to local files and code.
- Command Execution: Can suggest shell commands for the user to run.
- Code Generation: Writes and modifies software code, assists with infrastructure code, and helps with debugging.
- Autonomous Mode: Can autonomously modify files within the open workspace, with a supervised mode that allows users to undo changes.
Sources: kiro-web-app/src/pages/SystemDocs.tsx:9-19, 23-25
Chat Context and Interaction
Kiro uses special syntax in chat to pull in relevant context for a task. This allows for precise and efficient communication.
The following diagram shows a typical interaction flow where a user provides context to Kiro.
Available context commands include:
#Fileor#Folder: To bring a specific file or folder into context.#Problems: To see the current list of problems/errors in the IDE.#Terminal: To access the content of the terminal.#Git Diff: To see the current git changes.#Codebase: To scan the entire codebase after it has been indexed.
Sources: kiro-web-app/src/pages/SystemDocs.tsx:29-32
Steering Documents
A key feature of the Kiro system is "Steering Documents." These are project-specific markdown files located in the .kiro/steering/ directory that provide contextual guidelines to the AI assistant. They help Kiro generate more relevant, consistent, and accurate assistance by informing it of project standards, conventions, and best practices.
Sources: skills/create-steering-documents/SKILL.md:19-21, 103-109
Inclusion Logic
Steering documents are not always included in the AI's context. Their inclusion is determined by front-matter metadata within each file.
| Inclusion Type | Description |
|---|---|
always | Included in every interaction. This is the default if no front-matter is present. |
fileMatch | Included only when files matching the fileMatchPattern are part of the current context. |
manual | Included only when explicitly referenced by the user in the chat. |
Sources: skills/create-steering-documents/SKILL.md:24-30, 111-115
The following diagram illustrates how the inclusion logic works.
An example of front-matter for a fileMatch document:
---
inclusion: fileMatch
fileMatchPattern: '*.tsx|*.jsx|*.vue|*.svelte'
---
Sources: skills/create-steering-documents/SKILL.md:61-64
Common Steering Documents
The system uses templates to generate a standard set of steering documents based on the project type.
project-standards.md: General guidelines for code quality, testing, and security.git-workflow.md: Branching strategy, commit message format, and PR process.frontend-standards.md: Conditional document for frontend projects, covering component architecture, state management, and styling.api-design.md: Manual-inclusion document for backend projects, defining RESTful standards, request/response formats, and authentication.development-environment.md: Conditional document detailing local setup, environment variables, and build processes.
Sources: skills/create-steering-documents/SKILL.md:36-101, commands/create-steering-documents-standalone.md:27-142
Kiro Web Application
The repository includes a React-based web application that serves as a comprehensive guide to the Kiro Spec-Driven Development methodology. It presents the full content of the guide, including system documentation, project guidance examples, and command references.
Sources: kiro-web-app/README.md:3-5
Tech Stack
The web application is built with a modern frontend stack.
| Layer | Technology | Purpose |
|---|---|---|
| UI Framework | React 18 | Building the user interface. |
| Language | TypeScript | Providing type safety. |
| Styling | Tailwind CSS | Utility-first CSS framework. |
| Routing | React Router | Managing application routes. |
| Icons | Lucide React | Icon library. |
| Build Tool | Vite | Frontend build tooling. |
Sources: kiro-web-app/README.md:28-34
The application's structure is organized into pages and reusable components.
src/
├── components/ # Reusable components
│ └── Layout.tsx # Main layout component
├── pages/ # Page components
│ ├── Home.tsx # Home page
│ ├── SystemDocs.tsx # Kiro system documentation
│ └── ...
Sources: kiro-web-app/README.md:46-53, kiro-web-app/src/pages/SystemDocs.tsx, kiro-web-app/src/pages/ContentCoverage.tsx
Conclusion
The Kiro System provides a robust framework for modern, AI-assisted software development. By championing the "Clarity Before Code" philosophy through its Spec-Driven Development workflow, it ensures that features are thoughtfully planned and specified. Key components like Steering Documents and contextual chat commands empower developers to collaborate effectively with the Kiro AI assistant, leading to higher quality code and a more efficient development process. The accompanying documentation and web application make the methodology accessible, providing developers with the tools and knowledge needed to adopt this systematic approach.
Sources: spec-process-guide/methodology/philosophy.md:12-15, skills/create-steering-documents/SKILL.md:19-21, kiro-web-app/src/pages/SystemDocs.tsx:5-6