Not in the top 1,000 by GitHub stars
KevinArce/create-bun-api
Create an agent-ready Bun + Elysia HTTP API (SQLite, JWT auth, OpenAPI) with one non-interactive command: bun create bun-api my-api. Ships AGENTS.md, Agent Skills, and a verify script for AI coding agents.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/add-endpoint/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
fab932074b68 → fab932074b68
skills/add-model/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
fab932074b68 → fab932074b68
skills/create-bun-api/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
fab932074b68 → fab932074b68
skills/verify-and-debug/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
fab932074b68 → fab932074b68
Verified commit fab932074b6834948af8313220804b174e5b4c64
git clone --filter=blob:none --no-checkout https://github.com/KevinArce/create-bun-api.git .hotskills/kevinarce-create-bun-api && git -C .hotskills/kevinarce-create-bun-api checkout --detach fab932074b6834948af8313220804b174e5b4c64
# Copy each selected skill directory from .hotskills/kevinarce-create-bun-api into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/KevinArce/create-bun-api.git .hotskills/kevinarce-create-bun-api && git -C .hotskills/kevinarce-create-bun-api checkout --detach fab932074b6834948af8313220804b174e5b4c64
# Copy each selected skill directory from .hotskills/kevinarce-create-bun-api into .agents/skills/<skill-name>/Heat
1.5- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- add-endpoint
skills/add-endpoint - add-model
skills/add-model - create-bun-api
skills/create-bun-api - verify-and-debug
skills/verify-and-debug
How it works
add-endpoint
When your agent uses it
Add an HTTP endpoint or a new resource (routes, validation, service, SQL, tests) to a Bun + Elysia project created with create-bun-api, following its conventions, then prove it with bun run verify. Use when asked to add a route, endpoint, API resource, CRUD feature, or handler in a project that contains create-bun-api.json.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
688 tokensWhen the skill is activated
Reference documents
2,295 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Gotchas
Files
SKILL.mdcore2,625 bytesreferences/notes-module.mddoc8,817 bytes
Read SKILL.md
# Add an endpoint
1. **Baseline:** run `bun run verify`. If it already fails, fix that first (verify-and-debug skill) or
report it. Don't build on a red baseline.
2. **Decide where the code goes:**
- New resource: a new folder `src/modules/<name>/`. `<name>` is plural and lowercase, e.g. `notes`.
- New route on an existing resource: that module's `<name>.routes.ts`, with logic in `<name>.service.ts`.
- New table or column: follow the add-model skill first.
3. **Write the module.** A complete, tested example is in
[references/notes-module.md](references/notes-module.md); copy its shape.
- `<name>.schema.ts`: `t` schemas for bodies, params, and responses, plus `typeof X.static` types.
- `<name>.repository.ts`: prepared SQL. Scope rows by owner (`user_id`) for per-user data.
- `<name>.service.ts`: business rules. Throw `notFound()`, `conflict()`, and the other helpers from `src/lib/errors.ts`.
- `<name>.routes.ts`: `new Elysia({ prefix: "/<name>", tags: ["<name>"] })`. AddView the complete source on GitHubadd-model
When your agent uses it
Add or change a database table in a create-bun-api project (SQLite via bun:sqlite) using an append-only migration and a typed repository. Use when asked to add a model, table, column, index, or relation, or to persist new data.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
627 tokensWhen the skill is activated
Reference documents
396 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,526 bytesreferences/table-rebuild.mddoc1,595 bytes
Read SKILL.md
# Add or change a model
1. **Append a migration** to `src/db/migrations.ts` with the next id (`000N_<verb>_<table>`). Never edit,
reorder, or delete a migration that may already have run somewhere.
2. **SQL conventions:**
- Ids are `INTEGER PRIMARY KEY AUTOINCREMENT`. Columns are `snake_case`.
- Timestamps: `TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`.
- Foreign keys are enforced. Write `REFERENCES users(id) ON DELETE CASCADE` and index every
foreign key column.
- Use `COLLATE NOCASE` for case-insensitive unique text such as emails.
- One migration may contain several statements.
```ts
{View the complete source on GitHubcreate-bun-api
When your agent uses it
Create a new Bun + TypeScript HTTP API project (Elysia, SQLite, JWT auth, OpenAPI docs, tests) with create-bun-api, non-interactively, and confirm it works. Use when asked to start, scaffold, bootstrap, or set up a new backend, REST API, web service, or Bun/Elysia project.
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
583 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,155 bytesSKILL.mdcore2,155 bytes
Read SKILL.md
# Create a Bun API project
1. Optional, fast: `bunx create-bun-api doctor --json`. If `ok` is false, follow each failed check's
`hint`. The tool never installs software itself. If Bun is missing, tell the user how to install it
(https://bun.com/docs/installation); don't run remote install scripts.
2. Create the project:
```bash
bunx create-bun-api <dir> --yes --json # same as: bun create bun-api <dir> --yes --json
```
This writes the files, installs from the committed lockfile, makes a first git commit (skipped
inside an existing repo), and runs the project's own `bun run verify`.
Use `--dry-run` to preview the file list, or `--no-install` when offline.View the complete source on GitHubverify-and-debug
When your agent uses it
Prove a create-bun-api project works and fix failures, using bun run verify (typecheck, lint, tests, then boot and GET /health) and its JSON report. Use when finishing any task (before saying it is done), when tests or the typecheck fail, when the server won't start, or when asked to check, debug, or validate the project.
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
552 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Never make verify pass by
- Runtime clues
Files
SKILL.mdcore2,156 bytes
Read SKILL.md
# Verify and debug
1. Run `bun run verify --json`. It prints `{ "ok": …, "steps": [{ "id", "ok", "ms", "command", "output"? }] }`.
`output` holds the last 40 lines of a failing step. Every step runs even after a failure.
2. Fix failures in this order, because earlier ones often cause later ones:
| Step | Reproduce alone | Usual causes |
| --- | --- | --- |
| `typecheck` | `bun run typecheck` | Wrong import path. A status code missing from the route's `response` map (for 204, use `status(204, undefined)` and `204: t.Void()`). Possibly-`undefined` values from indexed access (`noUncheckedIndexedAccess`). |
| `lint` | `bun run lint` | Run `bun run format` first; it fixes formatting and import order. Whatever remains is real: unused code or `any`. |
| `test` | `bun test <file>` or `bun test -t "<name>"` | Read the expected-versus-received diff. A wrong HTTP status usually means an object was returned instead of an error helper thrown. |
[Credential-related source omitted]
3. Rerun `bun run verify --json` until `ok` is `true`. Then report which steps ran.View the complete source on GitHubSkills included
- add-endpoint
- add-model
- create-bun-api
- verify-and-debug
Repository facts
- License
- Apache-2.0
- Created
- Mar 20, 2024
- Last pushed
- Oct 21, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Instructions onlyAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
skills/create-bun-api/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 3 network referencesin 1 file: create-bun-api/SKILL.md:8
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 3 signals by file
skills/create-bun-api/SKILL.md
- Network accessline 8
1. Optional, fast: `bunx create-bun-api doctor --json`. If `ok` is false, follow each failed check's `hint`. The tool never installs software itself. If Bun is missing, tell the user how to install it (https://bun.com/docs/installatio - Network accessline 9
`hint`. The tool never installs software itself. If Bun is missing, tell the user how to install it (https://bun.com/docs/installation); don't run remote install scripts. 2. Create the project: - Network accessline 10
(https://bun.com/docs/installation); don't run remote install scripts.
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 3 facts
- Network access in prose of the SKILL.mdcreate-bun-api/SKILL.md:8Low confidence
- Network access in prose of the SKILL.mdcreate-bun-api/SKILL.md:9Low confidence
- Network access in prose of the SKILL.mdcreate-bun-api/SKILL.md:10Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path CLAUDE.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/add-endpoint/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/add-endpoint/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/add-endpoint/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/add-endpoint/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.