create-elysia-repositorylisted
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 '*.