Files
everything-claude-code/.kiro/steering/coding-style.md
Himanshu Sharma bacc585b87 Add Kiro steering files, hooks, and scripts (#812)
Co-authored-by: Sungmin Hong <hsungmin@amazon.com>
2026-03-22 21:55:47 -07:00

1.5 KiB

inclusion, description
inclusion description
auto Core coding style rules including immutability, file organization, error handling, and code quality standards.

Coding Style

Immutability (CRITICAL)

ALWAYS create new objects, NEVER mutate existing ones:

// Pseudocode
WRONG:  modify(original, field, value) → changes original in-place
CORRECT: update(original, field, value) → returns new copy with change

Rationale: Immutable data prevents hidden side effects, makes debugging easier, and enables safe concurrency.

File Organization

MANY SMALL FILES > FEW LARGE FILES:

  • High cohesion, low coupling
  • 200-400 lines typical, 800 max
  • Extract utilities from large modules
  • Organize by feature/domain, not by type

Error Handling

ALWAYS handle errors comprehensively:

  • Handle errors explicitly at every level
  • Provide user-friendly error messages in UI-facing code
  • Log detailed error context on the server side
  • Never silently swallow errors

Input Validation

ALWAYS validate at system boundaries:

  • Validate all user input before processing
  • Use schema-based validation where available
  • Fail fast with clear error messages
  • Never trust external data (API responses, user input, file content)

Code Quality Checklist

Before marking work complete:

  • Code is readable and well-named
  • Functions are small (<50 lines)
  • Files are focused (<800 lines)
  • No deep nesting (>4 levels)
  • Proper error handling
  • No hardcoded values (use constants or config)
  • No mutation (immutable patterns used)