Back to Blog
KiroSteeringDeep Dive

Kiro Steering Files: A Technical Deep Dive

By PRPM TeamOctober 26, 202513 min read

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

---
inclusion: always
---

2. File Match Inclusion

Trigger: Active when working with files matching the glob pattern
Use case: Context-specific rules

---
inclusion: fileMatch
fileMatchPattern: "**/*.test.ts"
---

3. Manual Inclusion

Trigger: Active only when explicitly requested by user
Use case: On-demand checklists and specialized reviews

---
inclusion: manual
---

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.

Resources

Explore All Format Deep Dives