Skip to content

Instantly share code, notes, and snippets.

View SamBoyd's full-sized avatar

Samuel Boyd SamBoyd

View GitHub Profile
@SamBoyd
SamBoyd / example_ears_plan.md
Created February 24, 2026 13:43
Claude Code plan using EARS

Refactor: Ink New Wizard App.tsx

Context

The bep new wizard was recently converted from @clack/prompts to Ink. The resulting App.tsx (~405 lines) is a monolith handling prompt definition, state management, keyboard input, navigation, and rendering. Two provider step components (ManualProviderStep, MixpanelProviderStep) are byte-identical. This refactor decomposes into focused units following container/presentation and single-responsibility principles.

Requirements

  • R1: The InkNewWizard shall expose the same public API: a single InkNewWizardApp component accepting onComplete: (result: NewWizardResult) => void.
  • R2: The InkNewWizard shall preserve all existing keyboard behavior (arrow keys, vim j/k, Enter, Ctrl+C, Backspace, printable text input, Back option navigation) except that Escape shall navigate back (instead of cancelling).
@SamBoyd
SamBoyd / CLAUDE.md
Created February 24, 2026 13:42
CLAUDE.md - Experiment with EARS Plan Instructions

CLAUDE.md

[... other instructions]

PLAN FORMAT

EARS (Easy Approach to Requirements Syntax) is used in plans for specifying system behavior (requirements), not for describing the agent's implementation to-do list.

Use the structure below for code-change plans.