Use when building or modifying CRUD endpoints with FastCRUD (the fastcrud PyPI package) in a FastAPI project — covers FastCRUD, crudrouter, EndpointCreator, FilterConfig, JoinConfig, auto-relationship detection, the filter operator syntax (gte, in, ilike, etc.), cursor pagination, soft delete, and how to avoid N+1…
Generate complete CRUD application services for ABP Framework following DDD patterns. Creates interface in Contracts layer, implementation in AppServices, and DTOs in Contracts. Use when: (1) creating new entity services, (2) scaffolding CRUD operations, (3) implementing standard ABP service patterns, (4) accelerating…
Document create/read/update/delete operations on a DocumentDB (MongoDB-compatible, PostgreSQL-backed) collection via the documentdb-mcp MCP server — insert one/many, find with filter/sort/skip/limit, update/replace one/many, delete, count, and the atomic find-and-modify variants. Use when the agent must read or mutate…
Use when building or editing a small database-backed web app in ANY stack — plain PHP, Laravel, or Supabase, on MySQL/MariaDB, PostgreSQL, SQLite, SQL Server, or a hosted DB — scaffolding a project, creating or evolving a database, designing tables or writing SQL, adding login/registration or user roles, building a…
When and how to write a new ADR in docs/internals/adr/ — numbering, required sections, and how it must connect to code and the architecture docs. Use when a change makes a load-bearing decision (a seam, an invariant, a boundary rule) rather than just implementing one already on record.
How to add a new key to KavoSettings — schema, default, merge semantics, validation, and docs — through the one layered precedence chain (global → entity → operation → per-call). Use when a change needs a new configurable behavior rather than a hardcoded constant.
How to add a new Kavo exception — hierarchy placement, error-code catalog entry, problem-details wiring, and adapter error mapping. Use when a change needs to signal a new failure mode to callers rather than reusing an existing exception.
The end-to-end procedure for adding, overriding, or disabling a Kavo operation — registry entry, DTO slots, handler, route metadata, and tests. Use when a change introduces a new CRUD operation or a custom per-entity operation.
The canonical type: scheme shared by issue labels, branch names, and commit message prefixes. Use when labeling an issue, naming a branch, or writing a commit message.
How to write tests for the Kavo monorepo — file placement, Vitest/SWC setup, fixtures, and the cases every change must pin down. Use when adding or updating tests in packages/core, packages/orms/typeorm, or packages/frameworks/nest.
Use when writing a new page under docs/ or editing an existing one — new feature/guide/reference pages, ADR-adjacent architecture notes, or prose edits to docs already in the tree. Covers matching Kavo's dense, code-first doc voice and running a humanizer pass before landing the page.
Reference for composite primary key support in @kavo/typeorm — the compositeIdFields metadata field, the -delimited route-id encoding, the creatable/updatable split, and every place composite keys don't yet work (other ORM adapters, many-to-many array-mutation, @kavo/graphql). Use when an entity has more than one…
Reference for Kavo's six optional DTO slots (create/update/patch/query/item/list) — entity-derived defaults, the dtoShapeKeys narrowing rule, and serialization order. Use when registering a DTO class on @Kavo's dto option, or answering "why isn't my field showing/hiding" or "what shape does this response have"…
Reference for Kavo's exception hierarchy, KAVO error-code catalog, and the RFC 9457 problem-details wire shape every generated route returns on failure. Use when handling/mapping a Kavo error, deciding which exception to throw from a custom handler/@Override, or answering "what does the error response look like"…
Reference for Kavo's global configuration — the KavoSettings precedence chain, built-in defaults table, KavoModule.forRoot/forRootAsync options, and the operations. global-default caveat (ADR-0015). Use when wiring createKavo/KavoModule.forRoot, setting app-wide defaults, or answering "what can I configure globally"…
Reference for @kavo/graphql and its Nest binding — building a schema over an existing createCrud service, the raw-AST filter/sort args, multi-entity merging, the process-wide type registry, and the zero-code KavoModule graphql option. Use when exposing an entity over GraphQL, or answering "how do I add GraphQL to this…
Reference for what @Kavo(Entity, config?) generates and how to configure/override it — routes table, EntityConfig shape (dto/allowlists/operations), manual-method-wins, @Override, and fully custom routes. Use when writing or reviewing a @Kavo-decorated controller, or answering "how do I configure/override this route"…
Reference for @kavo/mcp and its Nest binding — the standard per-entity toolset, findMany's raw-AST filter/sort args, flat update/patch args, isError result mapping, the zero-config KavoModule mcp option, and the fact that the default MCP route carries no auth guard. Use when exposing entities to an MCP client, or…
Wiring @kavo/mikroorm into a Nest app — passing the MikroORM instance rather than an EntityManager, why no RequestContext middleware is needed, opt-in case-insensitive filtering, declared soft delete, and native cross-relation filtering. Use when adding Kavo to a MikroORM project, or answering "how do I use Kavo with…
Wiring @kavo/mongoose into a Nest app — models as entity identities, ObjectId rendered as hex strings and id-keyed DTOs, declared soft delete, ref paths as relation and foreign key at once, and the cross-relation filter that is refused. Use when adding Kavo to a Mongoose/MongoDB project, or answering "how do I use…
Reference for Kavo's policy authorization DSL — permission()/role()/owner()/authenticated()/filtered()/when() composed with and()/or()/not(), config placement, entity-aware nodes, enforcement order, and the authorization.required default-deny switch. Use when gating an operation on the caller (403 KAVOFORBIDDEN)…
Wiring @kavo/prisma into a Nest app — the marker classes Prisma entities need, createInfrastructure's datamodel/entities options, case-insensitive filtering per database, and how the setup differs from the TypeORM path. Use when adding Kavo to a Prisma project, or answering "how do I use Kavo with Prisma" and "why…
Reference for the query-string grammar every generated Kavo route understands — filter operators, sort, field selection (fields/fields[relation]), pagination strategies, includes, withDeleted, and the security/coercion rules behind them. Use when writing API-consumer docs, constructing a request against a Kavo…
Fastest path to a working Kavo API in a brand-new project, using TypeORM and SQLite specifically — npm install list, minimal tsconfig, a single plain entity (no DTOs), and a zero-config @Kavo controller. Use when scaffolding a new Kavo app from scratch or answering "how do I get started with Kavo" questions. For a…