Kiro CLI Engine

AWS's spec-driven AI development CLI. Kiro generates structured spec.md and tasks.md files from your requirements, maintains STEERING.md project context, and supports pre/post task hooks — all surfaced through QuantumReef.

Last updated: 2025-01-15

Overview

Kiro CLI is Amazon's spec-driven AI development tool. Instead of freeform prompting, Kiro begins every task by generating a formal spec.md (requirements and acceptance criteria) and a tasks.md (ordered implementation checklist). Development only begins after you approve the spec — ensuring the AI understands what to build before touching code.

QuantumReef integrates Kiro CLI's spec workflow into its Session UI. When a session generates a spec, QuantumReef opens a dedicated Spec Review panel so you can approve, edit, or reject the plan before implementation begins.

Structured projects, structured AI

Kiro CLI is the ideal engine for teams that want AI assistance without losing control of the development process. The spec-first approach prevents the AI from making assumptions and diverging from intent.

Installation

Install Kiro CLI

bash
# Install via npm
npm install -g @aws/kiro-cli

# Or via Homebrew
brew install aws/tap/kiro

# Verify installation
kiro --version

# Authenticate with AWS (required for Bedrock models)
kiro auth login

Configure AWS credentials

bash
# Option A: AWS SSO (recommended)
aws configure sso

# Option B: Access key pair
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_REGION=us-east-1

# Option C: Use a non-AWS model via KIRO_API_KEY
export KIRO_API_KEY=sk-...
export KIRO_BASE_URL=https://api.anthropic.com/v1

Enable in QuantumReef

Go to Settings → Engines → Kiro CLI and toggle on. QuantumReef will auto-detect the kiro binary. Enable the Spec Review Panel option to intercept generated specs before Kiro begins implementation.

Spec-Driven Workflow

The Kiro CLI workflow follows a structured three-phase cycle. QuantumReef surfaces each phase as a distinct panel state in the session UI.

Kiro CLI's spec-driven development cycle
PhaseOutputQuantumReef Panel
1. RequirementsSTEERING.md updated with project contextContext Panel
2. Spec Generationspecs/<feature>/spec.md createdSpec Review Panel
3. Task Breakdownspecs/<feature>/tasks.md createdTask Checklist Panel
4. ImplementationCode changes committed per taskSession Timeline
5. ValidationTests run, completion-summary.md writtenTest Results Panel

Example: Starting a new feature

bash
# Trigger spec generation for a new feature
kiro spec "Add OAuth2 login with Google and GitHub providers"

# Kiro generates:
# specs/oauth2-login/spec.md        — requirements + acceptance criteria
# specs/oauth2-login/tasks.md       — ordered implementation tasks

# Review the spec, then approve and start implementation
kiro implement specs/oauth2-login/tasks.md

STEERING.md Context File

STEERING.md is Kiro's persistent project context file. It lives at the workspace root and is automatically read at the start of every Kiro session. It defines the tech stack, architectural constraints, coding conventions, and anything else Kiro needs to make consistent decisions.

STEERING.md
# Project Context

## Tech Stack
- Frontend: SolidJS + TailwindCSS
- Backend: Hono on Cloudflare Workers
- Database: Turso (libSQL edge)
- Auth: Better Auth with JWT

## Conventions
- Components max 400 lines
- All functions have JSDoc comments
- Tests use Vitest with @testing-library/solid
- Commits follow Conventional Commits spec

## Architecture Principles
- Server components for data fetching
- Client components only when interactivity needed
- No global state — use scoped stores
- Edge-first: all API routes run at the edge

## Out of Scope
- No React or Vue dependencies
- No class components
- No jQuery

Keep STEERING.md concise

Kiro includes the full contents of STEERING.md in every prompt. Keep it under 300 lines and focused on facts that affect AI decisions — not background information that could go in a README.

Hook System

Kiro supports pre- and post-task hooks — shell commands or scripts that run automatically before and after each implementation task. QuantumReef shows hook execution output in the Session Timeline.

HookWhenCommon uses
pre-taskBefore each task startsLint check, branch creation, dependency install
post-taskAfter each task completesRun tests, format code, commit changes
pre-sessionBefore the session beginsPull latest main, check for conflicts
post-sessionAfter all tasks completeOpen PR, notify Slack, update Jira
.kiro/hooks.yaml
pre-task:
  - run: pnpm lint --fix
    on_failure: warn   # warn | abort | ignore

post-task:
  - run: pnpm test --run
    on_failure: abort
  - run: git add -A && git commit -m "chore: kiro task complete"
    on_failure: warn

post-session:
  - run: gh pr create --fill --draft
    on_failure: ignore

When to Choose Kiro CLI

Use CaseWhy Kiro CLI Excels
Enterprise projectsSpec-first approach enforces planning discipline at scale
Team collaborationspec.md and tasks.md are reviewable artefacts for the whole team
AWS/Bedrock shopsNative integration with AWS credentials and Bedrock model catalogue
Regulated environmentsEvery change is traceable to an approved spec
Onboarding new featuresSTEERING.md gives AI full project context from day one