Create Spec-Driven Development (SDD) of apps running in AWS
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
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
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!
kiro-cli --version
kiro-cli 1.24.0
REMEMBER: Use an exclaimation prefix to invoke OS-level commands.
!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.
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:
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.
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.*”
Load steering files from Vivek Velso cataloged by https://www.promptz.dev/library/kiro-best-practices :
Load steering files described in https://kiro.dev/docs/steering/ from ???
Files
To Develop intelligent agents with Amazon Bedrock, AgentCore, and Strands Agents by Eduardo Mota
Others: QUESTION: Where do we find these???
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.
These files can be generated or refactored by AI.
---
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:
kiro-cli --help
╭────────────────────────────────────────────────────╮ │ chat Chat with Kiro CLI │ │ agent Manage AI agents │ │ doctor Debug installation issues │ │ settings Customize appearance & behavior │ │ quit Quit the app │ ╰────────────────────────────────────────────────────╯
kiro-cli doctor
Model: claude-sonnet-4 (/model to change)
kiro-cli chat
Model: claude-sonnet-4 (/model to change)
TODO: ???
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>
Device authorized Logged in successfully ⠀⠀⠀⠀⠀⠀⠀ ⢀⣴⣶⣶⣦⡀⠀⠀⠀⢀⣴⣶⣦⣄⡀⠀⠀⢀⣴⣶⣶⣦⡀⠀⠀⢀⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⢰⣿⠋⠁⠈⠙⣿⡆⠀⢀⣾⡿⠁⠀⠈⢻⡆⢰⣿⠋⠁⠈⠙⣿⡆⢰⣿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣦⠀⠀⠀⠀⣴⡿⠟⠋⠁⠀⠀⠀⠈⠙⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣿⣇⣴⡿⠋⠀⠀⠀⢀⣼⠇⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢠⣤⣤⣤⣤⣄⠀⠀⠀⠀⣿⡆⠀⠀⣼⡟⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⢻⣧⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣿⡿⠋⠀⠀⠀⢀⣾⡿⠁⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢸⣿⠉⠉⠉⣿⡇⠀⠀⠀⣿⡇⠀⣼⡟⠀⠀⠀⣰⡿⠟⠛⠻⢿⣆⠀⠀⠀⢻⣧⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠙⠁⠀⠀⢀⣼⡟⠁⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⢸⣿⣶⣶⡶⠋⠀⠀⠀⠀⣿⠇⢰⣿⠀⠀⠀⢰⣿⠀⠀⠀⠀⠀⣿⡆⠀⠀⠀⣿⡆ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⡀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣼⠟⠀⢸⣿⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⣿⡇ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⣠⡀⠀⠀⠹⣷⡄⠀⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣤⣄⠀⠀⠀⠀⠹⣿⡅⠀⠀⠸⣿⠀⠀⠀⠸⣿⠀⠀⠀⠀⠀⣿⠇⠀⠀⠀⣿⠇ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣾⡟⣷⡀⠀⠀⠘⣿⣆⠀⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣿⡟⣷⡀⠀⠀⠀⠘⣿⣆⠀⠀⢻⣧⠀⠀⠀⠹⣷⣦⣤⣤⣾⠏⠀⠀⠀⣼⡟ ⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⣿⡇⠹⣷⡀⠀⠀⠈⢻⡇⠀⢸⣿⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⣿⡇⠹⣷⡀⠀⠀⠀⠈⢻⡇⠀⠀⢻⣧⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⣼⡟ ⠀⠀⠀⠀⠀⠀⠀ ⠸⣿⣄⡀⢀⣠⣿⠇⠀⠙⣷⡀⠀⢀⣼⠇⠀⠸⣿⣄⡀⢀⣠⣿⠇⠸⣿⣄⡀⢀⣠⣿⠇⠀⠙⣷⡀⠀⠀⢀⣼⠇⠀⠀⠀⠻⣷⣦⣄⡀⠀⠀⠀⢀⣠⣴⣾⠟ ⠀⠀⠀⠀⠀⠀⠀ ⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠈⠻⠿⠿⠟⠁⠀⠀⠀⠀⠀⠈⠙⠻⠿⠿⠿⠿⠟⠋⠁ Jump into building with Kiro:
</pre>
https://support.aws.amazon.com/#/contacts/kiro says “For technical support, please submit an issue on Github
PROTIP: Open another Terminal tab for doing other work, so you can quickly ask questions.
What is the time in NYC
PROTIP: A question mark is not needed.
To exit kiro-cli, press control+c twice.
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.
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!
kiro
Kiro hook files contain JSON-format code that specify automation actions. reach APIs.
Hook files include clear, specific prompts.
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..."
}
}
Because these hooks are performance-sensitive, enable as needed:
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