AI Unified Process for the NestJS/Drizzle + Next.js stack - migrations, implementation, tests
90
92%
Does it follow best practices?
Impact
85%
1.01xAverage score across 3 eval scenarios
Low
Low-risk findings worth noting
aiup-nestjs-nextjs is the AI Unified Process construction plugin for a NestJS API using Drizzle ORM over PostgreSQL and a Next.js
App Router frontend. It turns the artifacts produced by aiup-core into schema migrations, a REST
API, a web UI, and tests across both applications.
This plugin is designed to continue from the specifications produced by aiup-core. For the complete AI Unified Process workflow,
use it alongside aiup-core and select one stack plugin.
The plugin supports a split client/server architecture whose applications share a JSON contract. It detects app roots, workspace structure, routing conventions, existing fetch clients, and package settings before writing code.
Two TypeScript-specific concerns are handled explicitly:
.js suffixes on relative imports even when the source files are
TypeScript; projects using other module settings must not receive those suffixes.unplugin-swc and the applicable Vite/Oxc setting, to preserve that metadata.The shared layout detection is documented in
skills/implement/references/project-layout.md.
| Phase | Skill | Result |
|---|---|---|
| Construction | /drizzle-migration | Drizzle schema changes and generated PostgreSQL migrations |
| Construction | /implement | NestJS feature module and Next.js page |
| Construction | /nest-test | Vitest unit tests and Supertest tests on Testcontainers PostgreSQL |
| Construction | /react-test | React Testing Library component tests |
| Construction | /playwright-test | Browser journeys derived from UC-* or TC-* artifacts |
Construction
──────────────────────────────────────────────────────
/drizzle-migration → /implement → /nest-test
↘ /react-test
↘ /playwright-testThe linked SKILL.md files are the authoritative reference for detailed inputs, outputs, and behavior.
Initialize the project once:
tessl init --agent agentsagents is the vendor-neutral layout; use claude-code, cursor, gemini, codex, copilot, or copilot-vscode
for a specific host. Then install the plugins:
tessl install ai-unified-process/aiup-core
tessl install ai-unified-process/aiup-nestjs-nextjsDepending on the configured agent, skills may be exposed as slash commands or invoked by intent, for example "implement UC-001".
/plugin marketplace add ai-unified-process/marketplace
/plugin install aiup-core
/plugin install aiup-nestjs-nextjsSee the marketplace installation guides for other agents and manual adoption.
aiup-core and reviewed docs/entity_model.md plus docs/use_cases/UC-*.md artifacts.drizzle.config.ts present.rules/mcp-servers.md.The plugin consumes the core artifacts under docs/, edits the configured Drizzle schema, generates migration
history, creates backend and frontend feature code, and places tests according to the detected project conventions.
/playwright-test TC-XXX additionally reads the matching test journey under docs/test_cases/.
your-project/
├── docs/
│ ├── entity_model.md
│ ├── use_cases/UC-*.md
│ └── test_cases/TC-*.md
├── apps/api/
│ ├── src/database/schema.ts # /drizzle-migration
│ ├── drizzle/migrations/ # generated migrations
│ ├── src/<feature>/ # /implement
│ ├── src/**/*.spec.ts # /nest-test unit tests
│ └── test/**/*.e2e-spec.ts # /nest-test API tests
└── apps/web/
├── src/app/<route>/page.tsx # /implement
├── src/**/*.test.tsx # /react-test
└── e2e/*.spec.ts # /playwright-testThis layout is detected, not required. Separate repositories, different workspace roots, and delegated view components are supported when the existing project establishes those conventions.
| Server | Purpose |
|---|---|
playwright | Browser automation |
NestJS, Drizzle, Next.js, React, Vitest, Supertest, and Testcontainers documentation is available through
aiup-core's context7 server. See rules/mcp-servers.md for setup details.
Apache-2.0 · © 2025-2026 Swift Ugandan 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.