An adapter is the part of Paqad that sets up one AI coding tool for your project. When you run paqad-ai onboard, each adapter you choose writes the files that tool reads when it opens your project. Paqad 1.91.1 has eleven adapters. They all point the AI at the same project rules and workflows. What differs is how much Paqad can enforce, and that depends entirely on what each tool allows an outside program to do.
Three levels of enforcement
Some AI tools support hooks: fixed moments in the tool's work, such as just before the AI edits a file or just after it finishes its turn, when the tool runs a program you choose. A hook program can refuse, and the tool then stops the action. Where a tool has no hooks, Paqad can only hand the AI written instructions.
| Level | What it means | Tools |
|---|---|---|
| Blocks and checks | Paqad's hooks can stop certain edits before they happen and check the change when the AI finishes its turn. | Claude Code, Codex CLI |
| Records at the end | One hook runs when the AI finishes its turn. It records evidence and a verification result, but it cannot stop an edit and says nothing in the chat. | Gemini CLI |
| Advisory | Paqad writes instructions for the AI. Nothing in the tool makes the AI follow them. | Cursor, GitHub Copilot, Windsurf, Continue, Google Antigravity, Junie, Aider, JetBrains AI Assistant |
Advisory means the tool is given the rules but nothing stops it ignoring them. The AI may follow the workflow closely, partly or not at all, and no Paqad program checks its work during the session.
This split comes straight from the 1.91.1 source, where each adapter is assigned one of three coverage levels: live-pre-and-completion, live-completion-only or advisory.
What the blocking hooks check
On Claude Code and Codex CLI, the hooks run these checks. Each one is a script that decides, not the AI.
- Before an edit: the AI must have loaded the Paqad framework in this session; no decision may be waiting for your answer; and for feature work, the earlier stages (such as planning and specification) must already be recorded and the relevant rules loaded.
- When the AI finishes its turn: Paqad runs its verification script over the change. If a check fails outright, the AI is told to keep working and fix it. This happens at most once per turn, so a problem the AI cannot solve does not trap the session.
The end-of-turn script only runs checks it can decide from files on disk. Checks that need judgment, such as whether a design is sound, are reported as skipped there rather than passed.
Paqad records its evidence in the ledger: evidence files under .paqad/ledger/ that show which stages of the work happened and what the checks found.
Limits that apply on every tool
- Only some actions are intercepted before they happen. On Claude Code the edit hooks watch the
Edit,WriteandNotebookEdittools. On Codex CLI they watchapply_patch. A file changed through a shell command is not stopped in advance, although the end-of-turn check still sees it. - If a hook script cannot run, for example because the Paqad install is missing, it lets the work continue rather than block it.
- Anyone working on the project can switch Paqad off with
paqad-ai disable, apaqad_enable=falsesetting, or thePAQAD_DISABLED=1environment variable. While it is off, no hook blocks anything. On the tools with hooks, a turn that finishes while Paqad is off is still logged as a disabled session. - Hook settings files contain a path that is specific to your computer, so Paqad tells git to ignore them. Each teammate sets up their own machine with
paqad-ai join.
What each adapter writes
Every adapter writes an entry file: a short instruction file the tool shows the AI at the start. It tells the AI to open .paqad/framework-path.txt, find the installed framework (normally ~/.paqad-ai/current) and follow its start-up instructions. It also says that if Paqad is missing or switched off, the AI should carry on as a normal assistant. If you already have an entry file, such as your own CLAUDE.md, onboarding keeps your text and adds Paqad's lines inside a clearly marked block.
| Tool | Adapter name | Entry file | Other files |
|---|---|---|---|
| Claude Code | claude-code | CLAUDE.md | .claude/settings.json (hooks), .claude/.gitignore, .claude/settings.hooks.json, .claude/settings.mcp.json, .claude/cache.json, .claude/memory.json |
| Codex CLI | codex-cli | AGENTS.md | .codex/hooks.json (hooks), .codex/.gitignore, .codex/settings.hooks.json, .codex/mcp.json, .codex/cache.json, .codex/memory.json |
| Gemini CLI | gemini-cli | GEMINI.md | .gemini/settings.json (hook), .gemini/.gitignore, .gemini/settings.hooks.json, .gemini/mcp.json, .gemini/cache.json, .gemini/memory.json |
| Cursor | cursor | .cursor/rules/paqad.mdc | .cursor/mcp.json, .cursor/cache.json, .cursor/memory.json |
| GitHub Copilot | github-copilot | .github/copilot-instructions.md | .vscode/mcp.json |
| Windsurf | windsurf | .windsurfrules | .windsurf/mcp.json, .windsurf/cache.json, .windsurf/memory.json |
| Continue | continue | .continue/rules/paqad.md | .continue/mcp.json |
| Google Antigravity | antigravity | ANTIGRAVITY.md | .antigravity/hooks.json (a list only, never run), .antigravity/mcp.json, .antigravity/cache.json, .antigravity/memory.json |
| Junie | junie | .junie/AGENTS.md | .junie/mcp/mcp.json |
| Aider | aider | CONVENTIONS.md | .aider.conf.yml (only to turn off Aider's commit attribution) |
| JetBrains AI Assistant | aiassistant | .aiassistant/rules/guidelines.md | None |
The files ending in mcp.json list the MCP servers Paqad suggests for your stack. MCP (Model Context Protocol) is a standard way for AI tools to connect to extra sources of information. Paqad's file names each server and what it provides, but it holds no start command, so it does not connect your tool to anything on its own. See MCP overview. The cache.json and memory.json files are Paqad bookkeeping, not settings your AI tool reads.
On every tool, onboarding also adds git post-commit and post-merge hooks that link each commit to the feature it belongs to. They never block a commit.
Paqad's own skills and workflows are not copied into your project. They stay in the installed framework folder that the entry file points to.
Choosing and changing adapters
In a terminal, paqad-ai onboard asks which tools you use. Codex, Claude Code, Gemini and Junie are ticked by default, so untick any you do not use. You can also name them directly, using the exact adapter names from the table above:
paqad-ai onboard --providers claude-code cursor github-copilot
When onboarding cannot ask (for example in a script) and you give no --providers, it sets up claude-code only.
To add a tool later, run paqad-ai onboard --providers again with that tool included. paqad-ai refresh --providers only rewrites entry files for tools that are already set up; it never adds a new one. See paqad-ai onboard and paqad-ai refresh.
If you need enforcement, not just guidance
If your team needs edits to be stopped when the process is skipped, use Claude Code or Codex CLI. Gemini CLI gives you a recorded trail but no blocking. On every other tool, treat Paqad as structured guidance for the AI and check the results yourself. The pages for each tool explain exactly what is written and what runs.