(Caption: Installing Kiro. Image source: Ernest’s MBP.)
✳️ tl;dr
- Feel like AI | Vibe coding is like opening a blind box?
- Kiro uses Specs to help you read the manual before unboxing
- One prompt → automatically expands into user stories, complete with EARS requirement standards
- Ernest attempts to deconstruct Kiro’s four-layer architecture (Intent Layer, Knowledge Layer, Execution Layer, Oversight Layer)
- Kiro AI = Kiro Agentic IDE
- Tasks list directly connects to unit/integration tests, reducing the awkwardness of forgetting to write tests
- Hooks let everyone unleash their imagination with event-driven automation - build your own automation
- Steering project guidance principles ensure consistency, making Kiro follow organizational culture and connect knowledge management
- Supports RWD and A11y - frontend is well taken care of too
- Free during preview period, supports Mac/Win/Linux (grab it while you can!)
- Kiro is based on Code OSS, compatible with VS Code
- VS Code users should be able to migrate seamlessly, though some extensions aren’t available in Kiro yet
- Kiro + WSL2 solution
- Extended use cases: Kiro + dev container for isolation
- Extended use cases: Kiro + Remote SSH + EC2 (CloudShell?) within VPC
✳️ Knowledge Graph
(More about Knowledge Graph…)
graph LR
A["Agentic IDE"] --> |"integrates"| B["AI Agent"]
A --> |"provides"| C["Development Environment"]
B --> |"executes"| D["Specs"]
B --> |"uses"| E["Steering Files"]
B --> |"triggers"| F["Agent Hooks"]
B --> |"operates in"| G["Autopilot Mode"]
B --> |"operates in"| H["Supervised Mode"]
D --> |"contains"| I["Requirements Phase"]
D --> |"contains"| J["Design Phase"]
D --> |"contains"| K["Implementation Phase"]
I --> |"uses"| L["EARS Notation"]
I --> |"generates"| M["User Stories"]
J --> |"produces"| N["Technical Architecture"]
J --> |"creates"| O["Sequence Diagrams"]
K --> |"breaks down into"| P["Discrete Tasks"]
P --> |"tracked by"| Q["Task Execution Interface"]
E --> |"stored in"| R[".kiro/steering/"]
E --> |"includes"| S["Product Overview"]
E --> |"includes"| T["Technology Stack"]
E --> |"includes"| U["Project Structure"]
F --> |"responds to"| V["File Events"]
F --> |"automates"| W["Development Workflows"]
V --> |"triggers"| X["File Created"]
V --> |"triggers"| Y["File Saved"]
V --> |"triggers"| Z["File Deleted"]
AA["MCP Protocol"] --> |"connects"| B
AA --> |"enables"| BB["External Tool Integration"]
AA --> |"provides"| CC["API Access"]
DD["Chat Interface"] --> |"facilitates"| B
DD --> |"supports"| EE["Natural Language Interaction"]
%% Styling for concept classes (orange)
classDef conceptClass fill:#FF8000,stroke:#000,stroke-width:2px
class A,B,D,E,F,AA,DD conceptClass
%% Styling for instances (blue)
classDef instanceClass fill:#0080FF,stroke:#000,stroke-width:2px
class I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,BB,CC,EE,G,H instanceClass
✳️ Further Reading