← ClaudeAtlas

stack-scalerlisted

Step-by-step guide for extending the Eitr codebase to support a new programming language and/or E2E test automation tool. Covers the full pipeline from CLI questionnaire through plan.ts generator registry to template generation and tests.
ivanestar/eitr · ★ 4 · AI & Automation · score 77
Install: claude install-skill ivanestar/eitr
# Eitr Stack Scaler ## Purpose This skill guides you through adding support for a new **language + automation tool** combination to the Eitr generator. After following it, running `eitr init` and selecting the new combination will produce a project that successfully executes >0 tests. Every step is isolated: you must modify 0 existing generators. --- ## Boundary Constraints & Edge Cases - **Missing File Rule:** If a required file (e.g. `schema.ts` or `generate.ts`) is missing, you must immediately abort and output EXACTLY: `ERROR: Required file not found.` - **Test Failure Rule:** If `npm test` fails after your changes, you must revert the modifications and output EXACTLY: `ERROR: Tests failed, changes reverted.` - **Never Modify Existing:** You must make 0 changes to existing `TargetGenerator` implementations. --- ## Architecture Overview Before touching any file, understand the full data flow: ``` eitr init └─ packages/cli/src/questionnaire/schema.ts ← declares question choices └─ packages/cli/src/questionnaire/driver.ts ← filters tools by language └─ .eitr/init.json ← persisted answers eitr generate └─ packages/cli/src/commands/generate.ts ← reads init.json, guards unsupported combos, │ runs recon, builds StackProfile, calls plan() └─ packages/engine/src/plan/plan.ts ← dispatches to the correct TargetGenerator └─ packages/engine/src/plan/templates/<lang>/ ←