JORVEL

AI coding tools

jorvel initcan scaffold ready-made config for the AI coding tools you use, so an assistant understands JORVEL's two-tier router, the shared-singleton federation boundary, and the CLI verbs from the first prompt — no cold start. It also wires a Model Context Protocol server that serves the live docs to any MCP client.

Choosing tools at init

In an interactive terminal, jorvel init asks which tools to generate support for (all pre-checked). Non-interactively it generates all of them. Drive it with flags:

bash
jorvel init my-app                       # interactive checkbox — pick tools
jorvel init my-app --ai claude,cursor,mcp  # only these
jorvel init my-app --no-ai               # skip all AI config
jorvel init my-app --yes                 # non-interactive → all tools

Valid --ai values: claude, codex, cursor, copilot, windsurf, gemini, mcp.

What each tool gets

ToolFiles
Claude CodeCLAUDE.md + .claude/ (settings.json, skills/*.md, agents/*.md, README.md)
Codex / Aider / ContinueAGENTS.md (provider-neutral)
Cursor.cursorrules + AGENTS.md
GitHub Copilot.github/copilot-instructions.md
Windsurf.windsurfrules + AGENTS.md
Gemini CLIGEMINI.md + AGENTS.md
MCP (any client).mcp.json

AGENTS.md is the shared base

Codex, Cursor, Windsurf, and Gemini all read the provider-neutral AGENTS.md; their tool-specific file just points to it. Selecting any of them writes it once.

Claude Code skills & agents

The .claude/ scaffold ships invokable skills and subagent definitions:

TypeIncluded
Skills (/name)federation-contracts, file-routing, ssr, security, testing, jorvel-cli
Agentshost-builder, remote-builder, federation-auditor, security-reviewer

settings.json pre-allows Bash(pnpm:*) and Bash(jorvel:*) and denies reading .env, so the agent is productive without prompting on every command and can't leak secrets.

The docs MCP server

@jorvel/mcp-docs is a Model Context Protocol server that exposes the JORVEL docs to any MCP client. When mcp is selected, init writes .mcp.json:

.mcp.json
json
{
  "mcpServers": {
    "jorvel-docs": { "command": "npx", "args": ["-y", "@jorvel/mcp-docs"] }
  }
}

Claude Code reads .mcp.json at the project root automatically. For Cursor or Windsurf, add the same entry in their MCP settings. It exposes three tools:

ToolArgsReturns
list_docsEvery doc page (section, title, URL).
search_docsqueryThe most relevant pages for a query.
get_docpathA page as plain text (URL or /docs/…).

Point it at a self-hosted docs deployment with the JORVEL_DOCS_BASE environment variable (defaults to the public site). Run it standalone to sanity-check:

bash
npx -y @jorvel/mcp-docs   # speaks MCP over stdio

Regenerate any time

These files are plain scaffolding — safe to edit, commit, and tune per team. Re-run jorvel init in a fresh directory to regenerate a clean set to diff against.