KIROSTEERINGMD(5)KIROSTEERINGMD(5)

NAME

.kiro/steering/*.md — instruction file for Kiro

SYNOPSIS

~/.kiro/steering/

.kiro/steering/

METADATA

FORMATMarkdown
FILENAME.kiro/steering/*.md
CASE SENSITIVENo
TOOLKiro
ENCODINGUTF-8
GIT COMMITTEDYes
MAX SIZE5KB per file
SINCEKiro (2025)

DESCRIPTION

Kiro steering files are Markdown instruction files that guide Kiro, Amazon's AI-powered IDE. They live in the `.kiro/steering/` directory at both project and global (~/.kiro/steering/) levels. Each file requires YAML frontmatter with an `inclusion` field that controls activation: `always` (every request), `auto` (Kiro decides based on relevance matching against the description), or `manual` (only when explicitly referenced).

Steering files support optional `globs` in frontmatter for file-pattern scoping. Project-level files are intended to be committed to version control and shared with the team, while global files express personal preferences.

Kiro also uses the `.kiro/` directory for specs (requirements documents), hooks (automated actions), and tasks, but only the `steering/` subdirectory contains instruction files.

Load Order
1~/.kiro/steering/(global)
2.kiro/steering/(project)

Lower numbers load first. Higher-priority files override lower ones.

STRUCTURE

├──YAML FrontmatterREQUIRED
Required frontmatter block with an `inclusion` field that controls when the file is loaded. Values: `always` (loaded every request), `auto` (Kiro decides based on relevance), or `manual` (user must explicitly reference). Also supports a `description` field for auto-mode context matching.
├──Instructions BodyREQUIRED
The main Markdown body containing coding conventions, architectural guidelines, or workflow rules. Standard Markdown with headings, lists, and code blocks.
└──Globs / Scope
Optional `globs` field in frontmatter to restrict the steering file to specific file patterns. When set, the file only activates when Kiro operates on matching paths.

ANNOTATED EXAMPLE

.kiro/steering/*.md
markdown
1---
2inclusion: always
3description: "Core coding standards for the project"
4---
5
6# Code Standards
7
8## TypeScript Conventions
9- Use strict mode with no `any` types
10- Prefer `interface` over `type` for object shapes
11- Use barrel exports from `index.ts` files
12
13## Error Handling
14- Wrap async operations in try/catch
15- Use custom error classes from `src/errors/`
16- Never swallow errors silently
17
18---
19
20## Example: Auto-loaded file (.kiro/steering/react-patterns.md)
21
22```markdown
23---
24inclusion: auto
25description: "React component patterns and hooks conventions"
26globs:
27  - "src/components/**"
28  - "**/*.tsx"
29---
30
31# React Patterns
32- Functional components only
33- Custom hooks in `src/hooks/`
34- Use React.memo for expensive renders
35```

COMMON MISTAKES

Gotchas
✗WRONG Omitting the `inclusion` frontmatter field
✓RIGHT Always specify `inclusion: always`, `auto`, or `manual`

Without the inclusion field, Kiro may not load the steering file at all. The frontmatter is required, not optional. Every steering file needs at minimum `inclusion` to define its activation behavior.

✗WRONG Placing steering files directly in `.kiro/` without the `steering/` subdirectory
✓RIGHT Files must be in `.kiro/steering/` — not `.kiro/` root

The `.kiro/` directory contains other Kiro configuration (specs, hooks, tasks). Only Markdown files inside the `steering/` subdirectory are treated as instruction files.

✗WRONG Using `inclusion: auto` without a `description` field
✓RIGHT Always pair `auto` inclusion with a clear `description` for relevance matching

When inclusion is set to `auto`, Kiro uses the description field to determine whether the steering file is relevant to the current task. Without a description, Kiro has no signal and may skip the file entirely.

USED BY

SIMILAR FILES

CLAUDE.mdClaude Memory File
.cursor/rules/*.mdcCursor Rules (MDC Format)
.trae/rules/*.mdTrae AI Rules

COMPARISONS

agentconfig.ing2026-03-16KIROSTEERINGMD(5)