tool
Dark Factories Website

Kiro

AWS's specification-first IDE. The first development environment built around specs as a first-class workflow artifact. Defines three canonical files — requirements.md, design.md, tasks.md — and adds Agent Hooks that trigger on file save events. Built for teams implementing specification-driven development without building the scaffolding from scratch.

Kiro is the first IDE where specification-first development is a core workflow, not an afterthought. Built by AWS, it defines a canonical three-file structure for every project and provides tooling to connect those specs to implementation automatically.

The Three Canonical Files

FileFormatPurpose
requirements.mdEARS format (user stories)What the system must do — expressed as user stories in structured language
design.mdArchitecture decisionsHow it will be built — component design, data flows, API contracts
tasks.mdImplementation checklistWhat the agent should do next — generated from requirements + design

The three files form a dependency chain: requirements drive design, design generates tasks, tasks drive implementation. Kiro enforces this flow.

EARS Format (requirements.md)

EARS — Easy Approach to Requirements Syntax — is a structured English format developed at Ericsson for writing unambiguous requirements:

# User Authentication

## Functional Requirements

1. **Login**
   - The system SHALL authenticate users with email + password
   - WHEN login fails 3 consecutive times, the system SHALL lock the account for 15 minutes
   - The system SHALL support OAuth2 providers: Google, GitHub

2. **Session Management**
   - The system SHALL expire inactive sessions after 24 hours
   - WHEN a session expires, the system SHALL return 401 on the next request

EARS keywords (SHALL, WHEN, IF/THEN, WHERE, WHILE) force requirements into machine-parseable structures. Ambiguity is a syntax error.

Agent Hooks

Kiro’s differentiating feature: Agent Hooks — triggers that fire on file save events, creating a continuous specification-to-implementation loop.

Examples of built-in hook triggers:

  • Save requirements.md → generate or update tasks.md
  • Save design.md → validate consistency with requirements.md
  • Save a source file → run relevant acceptance tests
  • Commit to branch → check task completion status

Hooks can be customized per project, creating workflows like: “When I save the spec, implement the next task automatically.”

Why This Matters for Dark Factories

At Level 4–5, the specification is the engineer’s primary deliverable. Kiro makes this explicit in the IDE — the spec files are first-class objects, not documents that live in a wiki somewhere.

The three-file structure maps directly to StrongDM’s NLSpec approach:

  • requirements.md ≈ NLSpec (desired behavior)
  • design.md ≈ architectural constraints section
  • tasks.md ≈ implementation breakdown that Attractor would generate

Kiro is the tooling layer that makes specification-first development accessible to teams that aren’t building their own factory infrastructure from scratch.

Positioning

Kiro is closest to Cursor as a daily IDE, but with a fundamentally different philosophy: Cursor is an existing IDE with AI added. Kiro is built around the premise that the spec comes first and the IDE serves the spec.

AWS’s backing means enterprise security, IAM integration, and AWS service awareness are built-in — making it the natural choice for teams already in the AWS ecosystem.