Kiro: Agentic IDE by AWS - Beyond Vibe Coding Blind Box

Post Title Image (Caption: Installing Kiro. Image source: Ernest’s MBP.)

✳️ TL;DR

  • Feel like AI | Vibe coding is like opening a blind box?
  • Kiro 1 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) 2
  • 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 2

  • Extended use cases: Kiro + dev container for isolation
  • Extended use cases: Kiro + Remote SSH + EC2 (CloudShell?) within VPC

345

✳️ 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