steering-principles.md 2.3 KB

Steering Principles

Steering files are project memory, not exhaustive specifications.


Content Granularity

Golden Rule

"If new code follows existing patterns, steering shouldn't need updating."

✅ Document

  • Organizational patterns (feature-first, layered)
  • Naming conventions (PascalCase rules)
  • Import strategies (absolute vs relative)
  • Architectural decisions (state management)
  • Technology standards (key frameworks)

❌ Avoid

  • Complete file listings
  • Every component description
  • All dependencies
  • Implementation details
  • Agent-specific tooling directories (e.g. .cursor/, .gemini/, .claude/)
  • Detailed documentation of .kiro/ metadata directories (settings, automation)

Example Comparison

Bad (Specification-like):

- /components/Button.tsx - Primary button with variants
- /components/Input.tsx - Text input with validation
- /components/Modal.tsx - Modal dialog
... (50+ files)

Good (Project Memory):

## UI Components (`/components/ui/`)
Reusable, design-system aligned primitives
- Named by function (Button, Input, Modal)
- Export component + TypeScript interface
- No business logic

Security

Never include:

  • API keys, passwords, credentials
  • Database URLs, internal IPs
  • Secrets or sensitive data

Quality Standards

  • Single domain: One topic per file
  • Concrete examples: Show patterns with code
  • Explain rationale: Why decisions were made
  • Maintainable size: 100-200 lines typical

Preservation (when updating)

  • Preserve user sections and custom examples
  • Additive by default (add, don't replace)
  • Add updated_at timestamp
  • Note why changes were made

Notes

  • Templates are starting points, customize as needed
  • Follow same granularity principles as core steering
  • All steering files loaded as project memory
  • Light references to .kiro/specs/ and .kiro/steering/ are acceptable; avoid other .kiro/ directories
  • Custom files equally important as core files

File-Specific Focus

  • product.md: Purpose, value, business context (not exhaustive features)
  • tech.md: Key frameworks, standards, conventions (not all dependencies)
  • structure.md: Organization patterns, naming rules (not directory trees)
  • Custom files: Specialized patterns (API, testing, security, etc.)