← ClaudeAtlas

create-elysia-repositorylisted

Generate the domain type, repository port, Drizzle repository adapter, Drizzle table schema, and apperr error codes for ONE entity in an existing Elysia/Bun project wired to @labspangaea/ts-lib. **Use this whenever someone wants to add a new entity's data layer, create a repository for a domain model, generate a Drizzle schema + port interface, or scaffold the persistence layer without generating the whole app** — phrasings like "I need a repo for X", "create the domain and repository for Y", "add Z to the database layer", "scaffold the Drizzle model for Order". Owns the schema-parsing rules the other layered skills delegate to. Do NOT use to scaffold a fresh project (use `/elysia-scaffolder:create-elysia-app`), to add the service layer (use `create-elysia-service`), or to expose endpoints (use `create-elysia-handler`).
labspangaea/pangaealabs-claude-plugins-marketplace · ★ 0 · AI & Automation · score 65
Install: claude install-skill labspangaea/pangaealabs-claude-plugins-marketplace
# Skill: create-elysia-repository Generate `domain` + `port` + Drizzle `repository` + Drizzle `schema` + `apperr` for one entity. ## Parameters | Parameter | Required | Default | Values | |-----------|----------|---------|--------| | `database` | no | `drizzle-postgres` | `drizzle-postgres` · `drizzle-mysql` · `none` | | `cache` | no | `none` | `none` · `redis` · `memory` · `couchbase` | ## Prerequisites | Item | Action if missing | |------|-------------------| | `package.json` + `tsconfig.json` in cwd | Tell the user this skill works inside an existing Bun project; suggest `/create-elysia-app` to start fresh | | `@labspangaea/ts-lib` installed | `bun install` first; it is a public npm package, fetched from the public registry | | Entity schema OR existing domain file | **Ask** — see Mode selection | ## Step 1 — Choose mode ``` AskUserQuestion({ question: "How should we source the entity for this repository?", header: "Mode", options: [ { label: "New schema (Recommended)", description: "Paste JSON / SQL / OpenAPI / Postman — generate domain + port + repository + schema + apperr from scratch" }, { label: "Existing domain", description: "Reuse an existing src/domain/*.ts file — generate only port + repository + schema + apperr" } ] }) ``` **Mode A — New schema**: user provides the entity schema (JSON example / SQL `CREATE TABLE` / OpenAPI `properties:` / Postman body). **Mode B — Existing domain**: `find src/domain -name '*.ts' -not -name '*.