AI Unified Process migration and persistence layers - Drizzle ORM schema, generated PostgreSQL migrations, repositories, and their tests
96%
Does it follow best practices?
Impact
100%
1.01x2 of 3 eval scenarios. Add 1 more for a full score.
Passed
No findings from the security scan
aiup-drizzle is the AI Unified Process layer plugin for the migration and persistence layers of a TypeScript
project: a Drizzle schema over PostgreSQL with generated migrations, derived
from the entity model that aiup-core produces, and the repositories of a NestJS API. It is one plugin
of a layer combination; it does not build services, an API, or a UI. Its skills derive from the combined plugin
aiup-nestjs-nextjs, which a contributor wrote.
| Layer | Skill | Test skill | Result |
|---|---|---|---|
| Migration | /drizzle-schema | – | pgTable definitions and generated SQL migrations |
| Persistence | /drizzle-persistence | /drizzle-persistence-test | Repositories, and their tests on Testcontainers PostgreSQL |
The migration layer has no test skill: the tests of the layers above exercise the schema.
aiup-core (3.14.0 or later) orchestrates the layer plugins:
/stack → docs/architecture/stack.md records the Drizzle skills
/use-case-implement UC-001 → drizzle-schema → drizzle-persistence → service → API → UI
/use-case-test UC-001 → the integration layer's tests, and the layers above it
/use-case-coverage UC-001 → the audit, using the Markers table of docs/architecture/stack.mdTwo rules set these skills apart from the Java persistence plugins:
/drizzle-schema edits the schema file and runs
drizzle-kit generate; a hand-written migration breaks the journal the next diff is computed from. A business rule
marker therefore sits in the schema file, not in the SQL.tx parameter./drizzle-persistence-test runs only for queries the integration layer cannot reach, to reconcile existing tests, or
when the persistence layer is named. The test setup it uses lives in aiup-nestjs.
| Project | Plugins next to aiup-core |
|---|---|
| REST API, NestJS, Drizzle | aiup-drizzle, aiup-nestjs |
| Next.js, NestJS, Drizzle | aiup-drizzle, aiup-nestjs, aiup-nextjs, aiup-playwright |
aiup-drizzle builds on the service layer of aiup-nestjs and declares it as a plugin dependency, so Claude Code
installs it too. Do not combine the layer plugins with a combined stack plugin.
Tessl does not install dependencies, so name all of them:
tessl install ai-unified-process/aiup-core
tessl install ai-unified-process/aiup-nestjs
tessl install ai-unified-process/aiup-drizzle/plugin marketplace add ai-unified-process/marketplace
/plugin install aiup-core
/plugin install aiup-drizzleSee the marketplace installation guides for other agents and manual adoption.
| Server | Purpose |
|---|---|
context7 | Current Drizzle, Vitest, and Testcontainers documentation on demand |
Apache-2.0 · © 2025-2026 Simon Martinelli and the AI Unified Process contributors
See LICENSE and NOTICE. "AI Unified Process" identifies the original methodology; derived works must retain the NOTICE file and must not present themselves as the official AI Unified Process.