Kiro Steering Files: A Technical Deep Dive
Kiro is an AI coding assistant that takes a unique approach to prompt engineering: instead of a single monolithic configuration file, it uses domain-organized steering files. Each steering file focuses on a specific aspect of your codebase and can be activated based on context.
Introduction
This architectural decision makes Kiro's prompt system modular (concerns are separated into focused files), context-aware (rules apply only when relevant), scalable (easy to add new domains), and maintainable (changes are isolated).
The Three Foundational Files
Kiro recognizes three special steering files that provide core project context:
1. product.md - Product Overview
Defines your product's purpose, target users, key features, and business objectives. Helps Kiro understand the "why" behind technical decisions.
2. tech.md - Technology Stack
Documents frameworks, libraries, development tools, and technical constraints. When Kiro suggests implementations, it prefers your established stack.
3. structure.md - Project Structure
Outlines file organization, naming conventions, import patterns, and architectural decisions. Ensures generated code fits seamlessly into your codebase.
Inclusion Modes
Kiro's inclusion modes determine when a steering file becomes active during AI interactions.
1. Always Inclusion
Trigger: Active for all AI interactions
Use case: Universal rules that should always apply
2. File Match Inclusion
Trigger: Active when working with files matching the glob pattern
Use case: Context-specific rules
3. Manual Inclusion
Trigger: Active only when explicitly requested by user
Use case: On-demand checklists and specialized reviews
PRPM's Implementation
PRPM's Kiro parser extracts frontmatter and content, validates required fields (inclusion is mandatory), detects foundational file types, and stores Kiro-specific configuration in metadata.
Key Design Decisions
- 1.Foundational Files: Keep as 'rule' subtype with specialized tags (kiro-product, kiro-tech, kiro-structure)
- 2.Frontmatter Validation: Strict on inclusion field, permissive on others
- 3.Glob Pattern Storage: Store as string, document .gitignore syntax
- 4.Quality Scoring: Deduct for unsupported features when converting to Kiro
Best Practices
Organization by Domain
Organize by domain/concern (product.md, tech.md, structure.md, testing.md, security.md, api-design.md) rather than by file type.
Use Specific File Patterns
Use targeted patterns like **/*.test.ts instead of overly broad patterns like **/*.ts.
Include Rationale and Examples
Provide rationale for rules and concrete code examples showing both good and bad patterns.
Conclusion
Kiro's steering file approach represents a paradigm shift in prompt engineering with modular concerns, context-aware rules, scalable organization, and maintainable structure. PRPM fully supports Kiro's unique features including frontmatter parsing, foundational file detection, cross-format conversion, and quality scoring.