projects/agent-native/design-notes.md
Synthesized design document for
agent-native. Read this if you want to understand what the project's design is, what principles it serves, and what alternatives were considered and rejected. This document is not a chronological log of decisions — it captures the settled design, standing independently of the discussions that produced it.Owned by the Orchestrator. Authored directly. Updated as design settles; not as decisions happen. Cross-link from the project spec; never block on a design-notes update during execution.
.claude/skills/, .agents/skills/), not behind a docs URL an agent may never fetch.skills CLI's job; Prisma's CLI only decides when to invoke it.OR: [], vacuous every) get engine-cited documentation, not fixes.init or generate.One shared runner (introduced in prisma init, reused by the generate offer) shells out to a pinned skills CLI version, package-manager-adaptively, installing the prisma/skills catalog for cursor claude-code codex windsurf. Init installs by default (--no-skills opts out, failure non-fatal); generate makes a once-ever, 30-second, TTY-gated offer persisted in the same OS config directory the NPS survey uses, with at most one prompt per run (skills offer preempts NPS for that run).
prisma/skills is the single content home. New material: configuration routing (per-provider references), generate-after-schema-change (+ Claude Code plugin with a PostToolUse hook), troubleshooting runbooks, API pitfalls with engine-test citations, a performance playbook, CLI disambiguation. Every behavioral claim cites the engine test or source that pins it, so re-verification on version bumps is mechanical.
The checkpoint in packages/migrate/src/utils/ai-safety.ts stays scoped to purpose-built destruction commands (db drop, db push --force-reset, migrate reset). Env markers inherit into child processes, so the checkpoint fires inside prisma mcp tool calls; the audit verifies the consent text survives the MCP transport.
prisma npm package — no network step at install time. Rejected because: skills would version-lock to the CLI release cadence, bloat the package, and bypass the skills CLI's multi-runtime placement logic.skills@latest at execution time (prisma-next's choice) — always newest installer. Rejected because: unpinned third-party code execution from the stable ORM CLI is an unacceptable supply-chain surface.@vercel/detect-agent for agent detection — maintained external list. Rejected because: rationale documented in the comment above agentMatchers in ai-safety.ts (kept in-house deliberately).nps.json persistence for the skills offer — one file fewer. Rejected because: the NPS acknowledgement is per-remote-timeframe while the skills offer is once-ever; overloading the schema couples two unrelated lifecycles.--no-skills, matching prisma-next and the user's stated intent; revisit if review surfaces pushback about writing .claude//.agents/ into agent-free projects..claude-plugin/ marketplace manifest inside prisma/skills, keeping one repo in sync with ORM releases.docs/plans/agent-native/ remains the detailed task reference during execution; project-level truth lives here; close-out migrates whatever proves long-lived into docs/../spec.md./plan.mddocs/plans/agent-native/ (000–010, commit f462cb0a8)packages/cli/src/utils/nps/survey.ts), prisma-next skill-install.ts, engine filter semantics (query-compiler/.../filters/mod.rs, connector-test-kit filters.rs)