Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion apps/docs/content/docs/cli/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,11 @@ Plain `db migrate` never moves a ref; `--advance-ref db` is what keeps the next

## Agent skills

Prisma packages ship [agent skills](/ai/tools/skills): instructions that teach AI coding agents the installed version's commands and APIs. [`init`](/cli/init) prepares a repository once, and [`skills sync`](/cli/skills) keeps the installed copies matching your package versions.
Prisma packages ship [agent skills](/ai/tools/skills): instructions that teach AI coding agents the installed version's commands and APIs. [`init`](/cli/init) prepares a repository once, and [`skills sync`](/cli/skills) keeps the installed copies matching your package versions. Install after `init`, so the `prisma` dev dependency it adds is in `node_modules`:

```npm
npx prisma@latest init
npm install
npx prisma skills sync
Comment thread
coderabbitai[bot] marked this conversation as resolved.
```

Expand Down
18 changes: 11 additions & 7 deletions apps/docs/content/docs/cli/init.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,29 @@ title: init
description: Prepare a repository for Prisma development.
url: /cli/init
metaTitle: init | Prisma CLI
metaDescription: Learn how prisma init prepares a repository for Prisma development with a skills-sync postinstall hook and a scaffolded prisma.config.ts.
metaDescription: Learn how prisma init prepares a repository for Prisma development with a skills-sync postinstall hook, a prisma dev dependency, and a scaffolded prisma.config.ts.
---

`init` prepares the current directory for Prisma development. It runs locally and calls no platform API. It does not scaffold the ORM: use [`orm init`](/cli/orm-init) to add the Prisma ORM config, contract, and runtime files to a project.

`init` does three things:
`init` does four things:

1. Adds a `postinstall` script to `package.json` (`prisma skills sync || exit 0`), so the [Prisma agent skills](/cli/skills) resync on every install and upgrade.
2. Scaffolds a `prisma.config.ts` recording which agents to install skills for, in the [`skills` config section](/cli/configuration#agent-skills).
3. Runs [`skills sync`](/cli/skills) once.
2. Adds `prisma` to `devDependencies` in `package.json`, pinned to the CLI's version, unless it is already listed. It does not install it.
3. Scaffolds a `prisma.config.ts` recording which agents to install skills for, in the [`skills` config section](/cli/configuration#agent-skills).
4. Runs [`skills sync`](/cli/skills) once.

It never prompts, always exits 0, and is safe to rerun: each step reports what is already done. A `prisma.config.ts` or `postinstall` script that already exists is never edited. If `package.json` already has a different `postinstall` script, `init` reports it and tells you what to append instead of chaining or replacing it.
It never prompts, always exits 0, and is safe to rerun: each step reports what is already done. A `prisma.config.ts`, `postinstall` script, or `prisma` entry that already exists is never edited. If `package.json` already has a different `postinstall` script, `init` reports it and tells you what to append instead of chaining or replacing it.

## Usage

```npm
npx prisma@latest init
npm install
```

If `init` added `prisma`, run the install straight after, so the package is in `node_modules`.

## Options

| Option | What it does |
Expand Down Expand Up @@ -52,6 +56,6 @@ export default definePrismaConfig({
});
```

The `prisma/config` import resolves from your project's `node_modules`, so add `prisma` as a dev dependency before running other commands against this file. See [Configuration](/cli/configuration).
The `prisma/config` import resolves from your project's `node_modules`. Until `prisma` is installed, commands that read this file stop at `CLI.CONFIG_UNREADABLE`. See [Configuration](/cli/configuration).

Only `init` writes the `postinstall` hook. No other command edits `package.json`; [`skills sync`](/cli/skills) itself never touches it.
Only `init` writes the `postinstall` hook. [`orm init`](/cli/orm-init) also adds `prisma` to `devDependencies`. [`skills sync`](/cli/skills) never touches `package.json`.
Loading