
Mastering KIRO Steering: A Complete Guide to Context-Aware AI Development
Master KIRO Steering to transform your AI assistant into a project-specific expert. This guide shows how to create custom steering files that enforce coding standards, AWS best practices, and team conventions automatically. Includes real-world use cases for AWS Well-Architected Framework, Terraform, Git commits, minimal engineering, and agentic applications. Learn step-by-step setup, conditional vs. global steering, and how to customize KIRO to match your workflow. Teams report faster code reviews and fewer
Introduction
KIRO is an AI-powered IDE and CLI tool designed to enhance developer productivity through intelligent code assistance, automated workflows, and context-aware interactions. Built for modern development teams, KIRO combines the power of AI with deep understanding of your codebase, tools, and development practices.
KIRO's Steering feature is a game-changer for AI-assisted development. It allows you to inject custom context, standards, and instructions into your AI interactions, ensuring consistent, project-specific guidance without repeating yourself. Think of it as creating a persistent memory for your AI assistant that understands your team's conventions, architectural decisions, and best practices.
In this guide, we'll explore how to configure Steering for various use cases, from enforcing coding standards to managing infrastructure-as-code practices.
KIRO is available in two powerful forms:
- KIRO IDE : A full-featured integrated development environment with AI capabilities built directly into your coding workflow
- KIRO CLI: A command-line interface for AI-assisted development that integrates seamlessly with your existing tools and workflows
Both versions support Steering, allowing you to maintain consistent AI behavior across your entire development environment. Whether you're coding in the IDE or running automation scripts from the terminal, your steering configurations ensure KIRO understands your project's unique requirements.
What is Steering?
Steering files are markdown documents stored in `.kiro/steering/` that provide additional context and instructions to KIRO. They can be:
- Always included (default) - Applied to every interaction
- Conditionally included - Triggered when specific files are accessed
- Manually included - Activated only when you reference them with `#` in chat
Steering in Action
When you interact with KIRO, it automatically detects and includes relevant steering files based on your configuration. Here's what it looks like in the KIRO IDE:
*KIRO automatically shows which steering documents are being included in your conversation, giving you full visibility into the context being applied.*


As you can see in the screenshot, KIRO displays all active steering files at the top of your conversation, including files like `terraform_best_practices.md`, `python_best_practices.md`, `react_best_practices.md`, and more. This transparency ensures you always know what guidelines KIRO is following.
Getting Started with Steering
KIRO makes it easy to create steering files directly from the IDE. For detailed instructions, visit the official Steering documentation.
Manual Setup (Alternative Method)If you prefer working with files directly, you can also create steering files manually:
1. Create the steering directory in your workspace:
Bash
mkdir -p .kiro/steering
2. Create your first steering file:
Bash
touch .kiro/steering/my-standards.md
3. Add your guidelines and watch KIRO automatically apply them!
Real-World Use Cases
1.Enforcing AWS Well-Architected Framework
File: .kiro/steering/well-architected-context.md
This steering file ensures KIRO prioritizes security, reliability, and performance in all AWS-related recommendations. It's particularly valuable for teams building cloud-native applications who want to ensure every architectural decision aligns with AWS best practices.
Why This Matters: Without explicit guidance, AI assistants might suggest quick solutions that work but don't follow security best practices or reliability patterns. This steering file ensures KIRO always considers the Well-Architected Framework pillars in its recommendations.Example Scenario: When you ask KIRO to help design a Lambda function that processes sensitive data, it will automatically:
- Suggest encrypting environment variables with KMS
- Recommend VPC configuration for database access
- Propose CloudWatch Logs encryption- Include IAM role with least privilege permissions
- Suggest implementing retry logic and error handling
plaintext
# AWS Well-Architected Framework Context## Core Priorities (in order of importance)1. **Security** - Always the highest priority2. **Reliability** - Critical second priority3. **Performance** - Important third priority## Security Guidelines- Apply the principle of least privilege for all IAM roles and policies- Implement defense in depth with multiple security controls- Encrypt data at rest and in transit- Use AWS security services (GuardDuty, Security Hub, WAF, etc.)- Implement secure VPC designs with proper network segmentation## Reliability Guidelines- Design for failure and self-healing- Implement high availability across multiple AZs- Use managed services when possible- Implement proper health checks, monitoring, and alerting- Test recovery procedures regularly## Performance Guidelines- Choose appropriate instance types and sizes- Implement caching strategies where appropriate- Use CDNs for global distribution- Optimize database performance- Monitor and optimize application performance
Real-World Impact: Teams using this steering file report fewer security-related code review comments and faster approval times for infrastructure changes because best practices are baked in from the start.
2. Terraform Best Practices
File: .kiro/steering/terraform_best_practices.md
This steering file establishes infrastructure-as-code standards for Terraform projects, ensuring consistency, security, and maintainability across your entire infrastructure codebase.
Why This Matters: Terraform code can quickly become inconsistent across team members, leading to state management issues, security vulnerabilities, and deployment failures. This steering file acts as a guardrail, ensuring every Terraform resource follows your team's standards.
Example Scenario: When you ask KIRO to create an S3 bucket resource, it will automatically:
- Add proper tags (Environment, Project, ManagedBy)
- Enable versioning for data protection
- Configure encryption at rest
- Use variables instead of hardcoded values
- Include lifecycle rules if appropriate
- Format the code according to `terraform fmt` standards
plaintext
# Terraform AWS Development and Deployment Best Practices## General Rules1. Always run `terraform fmt` before committing code2. Always run `terraform validate` before applying changes3. Use remote state with S3 backend and DynamoDB for state locking4. Set default region to "us-east-1" for all AWS providers## Security Rules1. Never hardcode AWS credentials in Terraform files2. Use IAM roles with least privilege principle3. Enable versioning on S3 buckets4. Encrypt sensitive data at rest and in transit## Resource Management1. Always tag resources with "Environment", "Project", and "ManagedBy: Terraform"2. Use modules for reusable infrastructure components3. Pin module versions to specific releases4. Use variables for all configurable values
Real-World Impact: Teams report 60% reduction in Terraform-related bugs and state conflicts. New team members can contribute infrastructure code confidently within days instead of weeks because KIRO guides them through best practices automatically.
3.Minimal Engineering Approach
File: .kiro/steering/minimal-engineering-approach.md
This steering file is a philosophy enforcer that prevents over-engineering and keeps your codebase lean, maintainable, and focused on solving actual problems rather than hypothetical ones.
Why This Matters: AI assistants can sometimes suggest elaborate solutions with multiple abstraction layers, design patterns, and helper utilities that aren't necessary for the problem at hand. This steering file keeps KIRO focused on simplicity and pragmatism.
plaintext
# Minimal Engineering Approach## Core Principles- **Keep it simple**: Write only the minimal code needed- **One file solutions**: Prefer single-file implementations- **Fix, don't bypass**: Fix existing solutions first- **No workarounds**: Don't build workarounds unless explicitly requested- **Essential files only**: Create only necessary files## File Creation Guidelines- **Maximum 3-5 files** for most projects- **One README.md** with essential information only- **No separate documentation files** unless requested- **No helper scripts** unless absolutely necessary## Problem-Solving Approach1. **First**: Try to fix the existing solution2. **Second**: Modify the current approach minimally3. **Last resort**: Create alternative solution (only if user requests it)## Code Guidelines- Write concise, focused code- Avoid over-abstraction- Keep functions small and direct- Minimize dependencies
Real-World Impact: Startups and small teams love this steering file because it keeps codebases maintainable as they grow.
4.Git Commit Standards
This steering file transforms KIRO into a commit message expert that follows Conventional Commits specification, making your git history readable, searchable, and useful for generating changelogs automatically.
Why This Matters: Inconsistent commit messages make it impossible to understand project history, generate changelogs, or use tools like semantic-release. This steering file ensures every commit follows a professional standard that provides value for years to come.
plaintext
When I ask you to commit my code or changes:1. Determine which files are new, modified, or deleted using `git status`2. Stage all relevant files3. Generate a commit message following these best practices:- Use the imperative mood ("Add feature" not "Added feature")- Start with a concise summary line (50 chars or less)- Structure: `<type>(<scope>): <description>`- Types: feat, fix, docs, style, refactor, test, chore- Scope: optional component nameExample:```feat(auth): implement OAuth2 authentication flow- Add OAuth2 client configuration- Create login and callback endpoints- Store tokens securely in user sessionCloses #123```Do not ask for confirmation before committing. Always show the generated commit message before executing.
Real-World Impact: Teams using this steering file can automatically generate changelogs, track features across releases, and understand project history at a glance. One team reported saving 2 hours per release cycle on changelog generation alone.
3.Approved Models for Agentic Applications
plaintext
# Approved Models for Building Agentic Applications## Global Claude Sonnet 4+ Models (Recommended for Agentic Development)Use only these approved global Claude Sonnet 4+ models for building agentic applications with Strands Agents framework:### Primary Recommended Global Models**Global Claude Sonnet 4.5** (Latest and Most Capable)- Model ID: `global.anthropic.claude-sonnet-4-5-20250929-v1:0`- Description: Latest Sonnet model with enhanced reasoning capabilities- Region: Global routing across all supported AWS regions- Status: ✅ Tested and verified working with Strands framework**Global Claude Sonnet 4**- Model ID: `global.anthropic.claude-sonnet-4-20250514-v1:0`- Description: Advanced reasoning and analysis capabilities- Region: Global routing across all supported AWS regions- Status: ✅ Tested and verified working with Strands framework## Usage Guidelines- Default to Global Claude Sonnet 4.5 for new agentic applications- Global models provide better availability and automatic routing- All models support text and image input modalities- Configure temperature and other parameters as needed for your use case- Both models are production-ready and fully compatible with Strands framework## Benefits of Global Models- Automatic routing to available regions- Better fault tolerance and availability- Simplified configuration (no region-specific setup needed)- Consistent performance across different geographic locations## Framework for Building Agentic ApplicationsWhen building agentic applications, use MCP tools to research and learn about best practices and how to use the Strands Agent SDK and AgentCore. You must use the following MCP tools:- **strands-agents** - For Strands Agent SDK documentation and best practices- **bedrock-agentcore-mcp-server** - For AgentCore implementation guidance and examples### Development Guidelines- Always research using these MCP tools before implementing agentic features- Reference the latest documentation and examples from both tools- Follow the established patterns and best practices from the official documentation- Use the tools to understand proper integration between Strands Agents and AgentCoreThis approach ensures you're building with the most current and recommended practices for agentic application development.
Final Thoughts
As you've seen throughout this guide, steering files give you complete control over how KIRO generates code and provides assistance. You're not limited to the examples provided here - you can add your own standards, best practices, and team conventions to make KIRO work exactly the way you need it to.
Whether it's your company's coding style, specific architectural patterns, security requirements, or deployment procedures, steering files let you encode that knowledge once and have KIRO apply it consistently across all your interactions.
Start with the examples in this guide, then customize them to match your team's unique workflow. The more you tailor KIRO to your standards, the more valuable it becomes as your AI development partner.
KIRO Steering is just one of many powerful features that make KIRO an indispensable tool for modern development teams. By combining intelligent AI assistance with customizable context through Steering, you get an AI pair programmer that truly understands your project.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article