bomonike

Create Spec-Driven Development (SDD) of apps running in AWS

US (English)   Norsk (Norwegian)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Estonian   اَلْعَرَبِيَّةُ (Egypt Arabic)   Napali   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean

Overview

This article defines how to create apps on the AWS cloud using Kiro, step-by-step.

Processing of Amazon Q AI chatbot prompts was moved into the new AWS Kiro, which consist of a GUI app and CLI.

## Install

  1. Open the OS’s default Terminal app, not another AI CLI app from Warp.dev, which cause this error reported by doctor:

    ✘ Kiro CLI terminal integrations: WarpTerminal is not supported

  2. Instead of using curl following Kiro CLI docs at https://kiro.dev/docs/cli, use Homebrew for better upgrade in the future:
    brew install kiro-cli
    

    Response:

    ==> Downloading https://desktop-release.q.us-east-1.amazonaws.com/1.24.0/Kiro%20CLI.dmg
    ######################################################################################## 100.0%
    ==> Installing Cask kiro-cli
    ==> Moving App 'Kiro CLI.app' to '/Users/johndoe/Applications/Kiro CLI.app'
    ==> Linking Binary 'kiro-cli' to '/opt/homebrew/bin/kiro-cli'
    🍺  kiro-cli was successfully installed!
    
  3. The first time kiro-cli is run, click “Allow access” to the browser window that appears. /coVerify the install:
    kiro-cli --version
    
    kiro-cli 1.24.0
    

    Run Linux shell commands

    REMEMBER: Use an exclaimation prefix to invoke OS-level commands.

  4. To list files within the tree of folders under the hidden folder created by the Kiro installer:
    !tree ~/.kiro
    
    |-- agents
    |   `-- agent_config.json.example
    |-- argv.json
    |-- extensions
    |   `-- extensions.json
    |-- powers
    |   `-- registry.json
    |-- settings
    |   `-- cli.json
    `-- steering
    

    Not listed is internal file .cli-bash_history to track every command entered.

    Powers

    VIDEO: Kiro Powers inject specialized context and tools into Kiro agents on-demand, providing focused knowledge exactly when needed. Unlike traditional context injection that loads everything upfront, Powers activate specific capabilities dynamically. https://dev.to/kirodotdev/analyzing-react-best-practices-with-kiro-powers-4i1f Power-Builder:

    • https://github.com/kirodotdev/powers/blob/main/power-builder/POWER.md
    • https://github.com/kirodotdev/powers/blob/main/power-builder/steering/interactive.md
    • https://github.com/kirodotdev/powers/blob/main/power-builder/steering/testing.md

    Steering specs

    • https://www.youtube.com/watch?v=Ap0tXXvyn3k by Allie Fortman, GTM

  5. Add into the “steering” folder .md (markdown) files foundational steering files from the Steering section in the Kiro panel. Click the Generate Steering Docs button, or click the + button and select the Foundation steering files option

    • product.md (Product Overview) - Defines your product’s purpose, target users, key features, and business objectives. This helps Kiro understand the “why” behind technical decisions and suggest solutions aligned with your product goals.

    • tech.md (Technology Stack) - Documents your chosen frameworks, libraries, development tools, and technical constraints. When Kiro suggests implementations, it will prefer your established stack over alternatives.

    • structure.md (Project Structure) - Outlines file organization, naming conventions, import patterns, and architectural decisions. This ensures generated code fits seamlessly into your existing codebase.

    • AGENTS.md provides steering directives. This does not support inclusion modes and are always included.

  6. Add into the “steering” folder .md (markdown) files that define your team’s own standards and conventions (context) for building apps. So master it.

    “KIRO automatically shows which steering documents are being included in your conversation, giving you full visibility into the context being applied.*”

  7. Load steering files from Vivek Velso cataloged by https://www.promptz.dev/library/kiro-best-practices :

  8. Load steering files described in https://kiro.dev/docs/steering/ from ???

    • https://github.com/awsdataarchitect/kiro-best-practices boilerplate
    • https://github.com/gotalab/cc-sdd builds a Photo Album app.
    • https://github.com/cremich/promptz.lib
    • https://github.com/5capeg0at/kiro-tdd-workflow-files
    • https://github.com/mikeartee/kiro-steering-docs
    • https://github.com/cremich/promptz.lib
    • https://github.com/mbonig/kiro-steering-docs

    Files

    • well-architected-context.md
    • terraform_best_practices.md
    • minimal-engineering-approach.md
    • git_commit_rules.md

    To Develop intelligent agents with Amazon Bedrock, AgentCore, and Strands Agents by Eduardo Mota

    • strands-python.md and
    • agentcore_strans_requirements.md

    Others: QUESTION: Where do we find these???

    • troubleshooting_app.md
    • sam-deployment-bucket.md
    • react_best_practices.md
    • python_best_practices.md
    • custom-nova-act.md
    • aws_cli_usage.md
    • automation-notes.md
    • architecture_diagram_rules.md
    • approved-model-for-building-agentic.md
    • amazon-q-resources-reference.md
    • CloudFront_S3_setup_for_UI_app_website.md

    • api-standards.md - Define REST conventions, error response formats, authentication flows, and versioning strategies. Include endpoint naming patterns, HTTP status code usage, and request/response examples.

    • testing-standards.md - Establish unit test patterns, integration test strategies, mocking approaches, and coverage expectations. Document preferred testing libraries, assertion styles, and test file organization.

    • code-conventions.md - Specify naming patterns, file organization, import ordering, and architectural decisions. Include examples of preferred code structures, component patterns, and anti-patterns to avoid.

    • security-policies.md - Document authentication requirements, data validation rules, input sanitization standards, and vulnerability prevention measures. Include secure coding practices specific to your application.

    • deployment-workflow.md - Outline build procedures, environment configurations, deployment steps, and rollback strategies. Include CI/CD pipeline details and environment-specific requirements.

    • API design standards
    • deployment-procedures
    • security-policies
    • css-standards
    • javascript-standards
    • product
    • project-structure
    • tech-stack
    • testing-approaches
    • troubleshooting-guide

      This is how consistency is automatically enforced.

    These files can be generated or refactored by AI.

  9. In the YAML front matter (between “—”) at the top of each steering file, configure inclusion directives for loading, to optimize performance and ensures relevant context is available when needed.
    ---
    title: Invoked in all runs
    inclusion: always
    ---
    

    For example, steering for Typescript files use this conditional:

    ---
    title: Typescript steering
    inclusion: fileMatch
    fileMatchPattern: "components/**/*.tsx"
    ---
    

    Other fileMatchPatterns:

    • “*.tsx” - React components and JSX files
    • “app/api/*/” - API routes and backend logic
    • */.test.*” - Test files and testing utilities
    • “src/components/*/” - Component-specific guidelines
    • “*.md” - Documentation files
  10. Know Kiro commands:
    kiro-cli --help
    
    ╭────────────────────────────────────────────────────╮
    │ chat         Chat with Kiro CLI                    │
    │ agent        Manage AI agents                      │
    │ doctor       Debug installation issues             │ 
    │ settings     Customize appearance & behavior       │
    │ quit         Quit the app                          │
    ╰────────────────────────────────────────────────────╯
    
  11. Analyze (like with Git):
    kiro-cli doctor
    
    Model: claude-sonnet-4 (/model to change)
    
  12. Chat:
    kiro-cli chat
    
    Model: claude-sonnet-4 (/model to change)
    

    TODO: ???

  13. Know Kiro commands:
    kiro-cli --help-all
    
    debug         Debug the app
    settings      Customize appearance & behavior
    setup         Setup cli components
    update        Update the Kiro application
    diagnostic    Run diagnostic tests
    init          Generate the dotfiles for the given shell
    theme         Get or set theme
    issue         Create a new Github issue
    login         Login
    logout        Logout
    whoami        Prints details about the current user
    profile       Show the profile associated with this idc user
    user          Manage your account
    doctor        Fix and diagnose common issues
    launch        Launch the desktop app
    quit          Quit the desktop app
    restart       Restart the desktop app
    integrations  Manage system integrations
    translate     Natural Language to Shell translation
    dashboard     Open the dashboard
    chat          AI assistant in your terminal
    mcp           Model Context Protocol (MCP)
    inline        Inline shell completions
    agent         Agent root commands
    help          Print this message or the help of the given subcommand(s)
     
    Options:
    -v, --verbose...
             Increase logging verbosity
          --help-all
             Print help for all subcommands
          --agent 
             Launch chat with specified agent
    -h, --help
             Print help
    -V, --version
             Print version
    </pre>
    
    
  14. Drag the Terminal window’s right edge to widen it for viewing the response:
    Device authorized
    Logged in successfully
     
    ⠀⠀⠀⠀⠀⠀⠀     ⢀⣴⣶⣶⣦⡀⠀⠀⠀⢀⣴⣶⣦⣄⡀⠀⠀⢀⣴⣶⣶⣦⡀⠀⠀⢀⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀    ⢰⣿⠋⠁⠈⠙⣿⡆⠀⢀⣾⡿⠁⠀⠈⢻⡆⢰⣿⠋⠁⠈⠙⣿⡆⢰⣿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣦⠀⠀⠀⠀⣴⡿⠟⠋⠁⠀⠀⠀⠈⠙⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⣿⣇⣴⡿⠋⠀⠀⠀⢀⣼⠇⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢠⣤⣤⣤⣤⣄⠀⠀⠀⠀⣿⡆⠀⠀⣼⡟⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⢻⣧⠀⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⣿⡿⠋⠀⠀⠀⢀⣾⡿⠁⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢸⣿⠉⠉⠉⣿⡇⠀⠀⠀⣿⡇⠀⣼⡟⠀⠀⠀⣰⡿⠟⠛⠻⢿⣆⠀⠀⠀⢻⣧⠀⠀⠀⠀
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⠙⠁⠀⠀⢀⣼⡟⠁⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢸⣿⣶⣶⡶⠋⠀⠀⠀⠀⣿⠇⢰⣿⠀⠀⠀⢰⣿⠀⠀⠀⠀⠀⣿⡆⠀⠀⠀⣿⡆
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⡀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣼⠟⠀⢸⣿⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⣿⡇
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⠀⣠⡀⠀⠀⠹⣷⡄⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣤⣄⠀⠀⠀⠀⠹⣿⡅⠀⠀⠸⣿⠀⠀⠀⠸⣿⠀⠀⠀⠀⠀⣿⠇⠀⠀⠀⣿⠇
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⣾⡟⣷⡀⠀⠀⠘⣿⣆⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣿⡟⣷⡀⠀⠀⠀⠘⣿⣆⠀⠀⢻⣧⠀⠀⠀⠹⣷⣦⣤⣤⣾⠏⠀⠀⠀⣼⡟
    ⠀⠀⠀⠀⠀⠀⠀    ⢸⣿⠀⠀⠀⠀⣿⡇⠹⣷⡀⠀⠀⠈⢻⡇⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣿⡇⠹⣷⡀⠀⠀⠀⠈⢻⡇⠀⠀⢻⣧⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⣼⡟
    ⠀⠀⠀⠀⠀⠀⠀    ⠸⣿⣄⡀⢀⣠⣿⠇⠀⠙⣷⡀⠀⢀⣼⠇⠀⠸⣿⣄⡀⢀⣠⣿⠇⠸⣿⣄⡀⢀⣠⣿⠇⠀⠙⣷⡀⠀⠀⢀⣼⠇⠀⠀⠀⠻⣷⣦⣄⡀⠀⠀⠀⢀⣠⣴⣾⠟
    ⠀⠀⠀⠀⠀⠀⠀    ⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠀⠀⠈⠙⠻⠿⠿⠿⠿⠟⠋⠁
     
    Jump into building with Kiro:
     
    
    1. Ask a question or describe a task
    2. Use /context add to provide Kiro with additional info
    3. Connect to external tools with by using /mcp   Use /help for more information and happy coding!   Model: claude-sonnet-4 (/model to change)

    </pre>

  15. https://support.aws.amazon.com/#/contacts/kiro says “For technical support, please submit an issue on Github

    https://github.com/kirodotdev/Kiro/issues

  16. PROTIP: Open another Terminal tab for doing other work, so you can quickly ask questions.

  17. To the right of the “>”, type a chatbot question such as:
    What is the time in NYC
    

    PROTIP: A question mark is not needed.

  18. To exit kiro-cli, press control+c twice.

  19. Consider prompt templates uses “steering files” to guide AI behavior with project-specific instructions. Steering files are markdown documents in .kiro/steering/ that provide context, workflows, and constraints. When you work in Kiro, these files automatically shape how the AI assistant responds - no manual prompting required.

    https://github.com/jasonkneen/kiro/blob/main/spec-process-guide/prompting/templates.md

    https://github.com/aws-samples/sample-kiro-cli-prompts-for-product-teams

    Kiro outputs standalone HTML files that open directly in any browser - no build step or server required. That enables you to share them with stakeholders by simply sending the files.

  20. Install the Kiro.app, which is a clone of Microsoft Visual Studio Code IDE.
    brew install --cask kiro
    

    Response:

    ✔︎ JSON API cask.jws.json                                            Downloaded   15.3MB/ 15.3MB
    ✔︎ JSON API formula.jws.json                                         Downloaded   32.0MB/ 32.0MB
    ==> Downloading https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.8.
    ######################################################################################## 100.0%
    ==> Installing Cask kiro
    ==> Moving App 'Kiro.app' to '/Users/johndoe/Applications/Kiro.app'
    ==> Linking Binary 'code' to '/opt/homebrew/bin/kiro'
    🍺  kiro was successfully installed!   
    
  21. Open Kiro.app:
    kiro
    

    Agent Hooks

    Kiro hook files contain JSON-format code that specify automation actions. reach APIs.

    Hook files include clear, specific prompts.

    “when: fileEdited” hooks run automatically

    when a file matching one of the “patterns”, the “prompt” is displayed. Vivek’s example:

    {
       "enabled": true,  // Change to false to disable
       "name": "Descriptive Hook Name",
       "description": "Clear description of what this hook does",
       "version": "1",
       "when": {
          "type": "fileEdited",  // or "manual"
          "patterns": ["**/*.ext"],  // or "button_text" for manual
       },
       "then": {
          "type": "askAgent",
          "prompt": "Clear, specific instructions for the AI agent..."
       }
    }   
    

    🔘 Manual Hooks (Button Triggers) run on-demand from the Kiro Agent Hooks panel:

    🎛️ Optional Hooks are disabled by default

    Because these hooks are performance-sensitive, enable as needed:

References

BLOG: https://prpm.dev/blog

https://www.youtube.com/watch?v=40vTCH0Iaac&pp=2AaCAg%3D%3D videos by Rasmus Widing

26-01-25 v003 steering files :aws-kiro.md created 2026-01-25