verify-and-debug
Skill11 starsChanged 22 days agoApache-2.0View on GitHub
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.
In this repository5 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- add-endpointSkill
- add-modelSkill
- create-bun-apiSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Run bun run verify --json.
- Distinctive: line 27
If a test really is wrong, change it and explain why in your report.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Verify and debug
- Run
bun run verify --json. It prints{ "ok": …, "steps": [{ "id", "ok", "ms", "command", "output"? }] }.outputholds the last 40 lines of a failing step. Every step runs even after a failure. - 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. |
boot | PORT=3999 DATABASE_PATH=:memory: JWT_SECRET=$(openssl rand -hex 32) bun src/index.ts | A config error (the message lists every problem), an exception at import time, or bad migration SQL. |
- Rerun
bun run verify --jsonuntilokistrue. Then report which steps ran.
Never make verify pass by
- deleting, skipping (
test.skip), or loosening tests to match wrong behavior; - adding
@ts-ignore,as any, orbiome-ignoreto hide a real problem; - lowering password-hashing cost, shortening
JWT_SECRETchecks, or removing validation.
If a test really is wrong, change it and explain why in your report.
Runtime clues
bun run dev writes JSON log lines. Unexpected failures appear as "level":"error" with
"msg":"unhandled error" and the error's name, message, and stack (secrets are redacted).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

