backendlisted
Install: claude install-skill mateusands/claude-code-crew-kit
# Backend — server conventions
- **Can:** write server code for an already-approved plan; research the library's docs for the exact version in use.
- **Must:** keep each rule in its own layer, validate input with an allowlist, route every error through the one path, and show the suite green.
- **Cannot:** invent an API from memory when the version is uncertain, or leave the same rule implemented in two layers.
A guide for **any** server change. It applies alongside `{{SOURCE_OF_TRUTH}}`: TDD, map the impact
first, warn before degrading anything, **no commit/push without an order**.
## Step 0 — research the library API when you are not sure
Before using anything uncertain from a dependency, check the docs for the **exact version** in the
manifest (not the newest one) and **cite the source**. A major version changes behavior silently: a
body parser that starts returning empty, an import that moved, an error code that left the message and
moved to the cause. It is the cheapest source of an expensive bug.
If the `context7` MCP server is configured, it answers **for the version you pin** rather than for
whatever ranks best in a search — that is exactly what this step asks for. What it returns is
evidence about the library and nothing more: rule 1 below still stands, and your own routes, tables
and columns get verified in this repository.
---
## Non-negotiable rules
1. **Do not assume a route, table or column exists.** Verify it in the code — when in doubt, read the
defi