@rudderjs/boost
AI developer-experience layer for Rudder. Exposes your project's internals to AI coding assistants via MCP — Claude Code, Cursor, GitHub Copilot, Codex CLI, Gemini CLI, and Windsurf. Also ships per-package AI coding guidelines and task-specific skill modules that are concatenated into your agent's instructions on install.
Installation
New projects can opt in via create-rudder — Boost appears in the optional-package multiselect during scaffolding. To add it to an existing project:
pnpm add -D @rudderjs/boostRegister the provider:
// bootstrap/providers.ts
import { BoostProvider } from '@rudderjs/boost'
export default [
// ...other providers
BoostProvider,
]Quick start
pnpm rudder boost:install # auto-detect agents, generate configs
pnpm rudder boost:install --agent=claude-code # specific agent
pnpm rudder boost:install --agent=cursor,copilot # multiple agentsboost:install detects which agents you use by checking for existing config files. Defaults to Claude Code if nothing is detected.
Supported agents
| Agent | Guidelines file | MCP config | Skills |
|---|---|---|---|
| Claude Code | CLAUDE.md |
.mcp.json |
.ai/skills/ |
| Cursor | .cursorrules |
.cursor/mcp.json |
.ai/skills/ |
| GitHub Copilot | .github/copilot-instructions.md |
.vscode/mcp.json |
— |
| Codex CLI | AGENTS.md |
.mcp.json |
— |
| Gemini CLI | GEMINI.md |
.gemini/settings.json |
— |
| Windsurf | .windsurfrules |
.windsurf/mcp.json |
— |
Commands
pnpm rudder boost:install # generate per-agent configs, guidelines, skills, boost.json
pnpm rudder boost:install --agent=cursor,copilot # restrict to specific agents
pnpm rudder boost:install --include-all-skills # install every shipped skill, even ones whose target package isn't present
pnpm rudder boost:update # re-scan packages and update all agent configs
pnpm rudder boost:mcp # start the MCP server (stdio transport)boost:install writes a boost.json at the project root recording the agents you selected and the skills it installed; boost:update reads it back to drive incremental re-scans without re-prompting. Commit boost.json so teammates and CI get the same agent configuration.
Skill targeting (appliesTo)
A skill's frontmatter can declare appliesTo: [<package>, ...]. boost:install only installs the skill when at least one of those packages is present in the project — keeps the skills directory focused on what the project actually uses. Use --include-all-skills to bypass and install every shipped skill, even ones whose target package isn't installed.
# boost/skills/orm-models/SKILL.md
---
name: orm-models
appliesTo:
- @rudderjs/orm
- @rudderjs/orm-prisma
trigger: when defining or editing ORM models
---MCP tools
Boost ships an MCP server that runs alongside your app. AI agents connect and call these tools to get live context:
| Tool | Description |
|---|---|
app_info |
Installed @rudderjs/* packages, versions, Node.js version, package manager |
db_schema |
Native typed registry (.rudder/types/models.d.ts) or Prisma schema — parsed models with fields/types, or raw source |
route_list |
All HTTP routes with methods, paths, middleware, source files |
model_list |
ORM models in app/Models/ with table names and field types |
config_get |
Read config files — list all or read a specific one by key |
last_error |
Latest log entries from storage/logs/ |
db_query |
Execute read-only SQL SELECT queries via Prisma |
read_logs |
Read log entries with filtering by level and search term |
browser_logs |
Read browser console logs from Vite dev server |
get_absolute_url |
Convert relative URI paths to absolute URLs using APP_URL |
search_docs |
Search local @rudderjs/* package documentation by keyword |
commands_list |
List all rudder commands (built-in + package + user-defined) with args, options, and source. Optional namespace filter |
command_run |
Execute a rudder command and return stdout, stderr, exit code, and duration |
MCP resources
Guidelines are exposed as MCP resources so agents can re-read them on demand:
| Resource URI | Description |
|---|---|
guidelines://orm |
Guidelines for @rudderjs/orm |
guidelines://auth |
Guidelines for @rudderjs/auth |
guidelines://all |
All package guidelines concatenated |
| ... | One resource per installed package with boost/guidelines.md |
AI guidelines & skills
Each @rudderjs/* package can ship boost/guidelines.md and boost/skills/*/SKILL.md files. Running boost:install collects them into your project:
.ai/guidelines/{package}.md— per-package AI coding guidelines.ai/skills/*/SKILL.md— on-demand task-specific knowledge modules- Per-agent guideline files (
CLAUDE.md,.cursorrules, etc.) — concatenated guidelines
Your app can ship its own boost/guidelines.md at the project root to include app-specific context (naming conventions, architecture decisions, business rules) — it gets merged in alongside the package guidelines.
Custom agent registration
Third-party packages or users can register custom agent adapters:
import { Boost } from '@rudderjs/boost'
import type { BoostAgent } from '@rudderjs/boost'
const myAgent: BoostAgent = {
name: 'my-ide',
displayName: 'My IDE',
detect: (cwd) => existsSync(join(cwd, '.my-ide')),
supportsGuidelines: true,
supportsMcp: true,
supportsSkills: false,
installGuidelines: async (cwd, content) => { /* ... */ },
installMcp: async (cwd, cmd) => { /* ... */ },
}
Boost.registerAgent(myAgent)Custom agents appear in boost:install auto-detection and --agent= selection.
Programmatic use
import { getAppInfo, getDbSchema, getRouteList, getModelList, searchDocs } from '@rudderjs/boost'
const info = getAppInfo(process.cwd())
const schema = getDbSchema(process.cwd())
const routes = getRouteList(process.cwd())
const models = getModelList(process.cwd())
const results = searchDocs(process.cwd(), 'middleware')Useful for custom dashboards, CI checks, or embedding project context into your own tooling.
Notes
boost:mcprequires a fully bootstrapped application — it reads live routes, models, and config from the running DI container.db_schemareads the native typed registry (.rudder/types/models.d.ts, written byrudder migrate) or the Prisma schema (single- or multi-file).last_errorreturns the most recent entries fromstorage/logs/filtered by level.- Works with any MCP-compatible AI client beyond the listed agents — the standard MCP protocol is the wire format.