← ClaudeAtlas

add-repositorylisted

Add a data/domain slice ONLY — model, repository interface + impl, use case, and a hand-written fake — to this Compose Multiplatform app, cloned deterministically from the `home` exemplar's data layer. No screen, no ViewModel, no nav route, no spec clauses. Use this when the user wants to "add a repository", "add a data source", "model a new entity", "new entity with a repository", or names a domain noun they want backed by data before any UI exists (e.g. "add a Tag repository", "I need a data source for Bookmarks"). Works with NO create-cmp plugin installed — the stamper (`qa/scaffold-feature.mjs --preset repository`) and this skill both ship inside the generated project.
kvdm-co-pilot/create-cmp-showcase · ★ 0 · AI & Automation · score 60
Install: claude install-skill kvdm-co-pilot/create-cmp-showcase
# add-repository — stamp a data/domain slice only > Deterministic-stamp, gate-proven. The script (`qa/scaffold-feature.mjs --preset repository`) > does the mechanical work — copy the `home` exemplar's data/domain files, whole-word identifier > rename, DI injection for the repository + use case only. You (the AI) only customize the > entity's fields and its sample data. You are not done until `node qa/verify.mjs` PASSes and the > receipt is committed — see this project's `CLAUDE.md`. This is the `repository` subset of `add-feature` — same stamper, same rename mechanic, filtered to just the 5 data/domain files. Use it when you want the data layer to exist before any screen consumes it (e.g. you're modeling several entities up front, or a screen for this entity will come later via `add-screen`). ## Why a stamper and not hand-written files Every hand-written file is a drift chance in this project's architecture. `qa/scaffold-feature.mjs --preset repository` produces a **conforming skeleton by construction** for the data/domain layer: a domain model, a domain repository interface, a use case, a data-layer impl, and a hand-written fake for tests — wired into Koin. Your job is to make the entity's shape and sample data real, not to make the wiring correct — that part is already done. ## The flow ### 1. Name the entity Ask the human for the entity name — PascalCase, singular (e.g. `Tag`, `Bookmark`, `Category`). Unlike `add-feature`/`add-screen`, there is no feature name and n