Onboard
memoturn onboard is the fastest way to wire Memoturn into an existing project. It scans your repo, infers the stack, and installs:
- Skill bundles tailored to what it finds (Next.js, Cloudflare Workers, Drizzle, FastAPI, monorepo conventions, …)
- Default rules (
error-pin,claim-watchdog,review-router) - Agent-config files for Claude Code, Cursor, Codex CLI, and (instructions-only) Copilot
- Presence hooks so cursor / claude / codex broadcast presence as you edit
- A minimal
## Memory (Memoturn)section in yourAGENTS.md/CLAUDE.md
Everything writes locally. No GitHub App, no upload, no server-side scan. Your repo never leaves your machine.
Run it
Section titled “Run it”You need a Memoturn API key and project slug. Mint them from your Memoturn dashboard → API keys.
# Dry run, preview the plannpx -y @memoturn/cli onboard
# Apply: install skills/rules and write the local filesnpx -y @memoturn/cli onboard --applyThe first run prints a tree like this:
memoturn onboard, scanning /Users/you/code/myapp
▸ Detected: next.js, react, drizzle, cloudflare-workers, pnpm-monorepo, turborepo Existing config: .claude/, CLAUDE.md, .cursor/
▸ Skill bundles • memoturn-mcp-toolkit (Universal) names every Memoturn MCP tool with usage guidance • next-app-router-conventions (Detected tag: next.js) • cloudflare-workers-tail (Detected tag: cloudflare-workers) • drizzle-migrations (Detected tag: drizzle) • monorepo-pnpm-turbo (Detected pnpm + turborepo monorepo)
▸ Rules • error-pin / claim-watchdog / review-router
▸ Local file changes ~ .claude/settings.json: add memoturn MCP entry [claude-code] ~ CLAUDE.md: append Memoturn section after first H1 + .cursor/mcp.json: create with memoturn MCP entry + AGENTS.md: create with Memoturn section + ~/.codex/config.toml: create with memoturn MCP entry + .vscode/mcp.json: create with memoturn MCP entry
Re-run with --apply to install skills/rules and write the local files above.Then --apply prompts before each batch of network installs and file writes.
--dry-run show plan; write nothing (default)--apply install skills/rules and write local config files--yes skip the y/n confirmation under --apply--agent <id[,id…]> limit to claude-code | cursor | codex | copilot | all--root <path> scan path (default: cwd)--print-profile print the detected StackProfile JSON and exit--json machine-readable plan JSON (no apply)--skip-skills don't install default skill bundles--skip-rules don't install default rules--skip-hooks don't write presence hook config--skip-agents-md don't touch AGENTS.md / CLAUDE.md / copilot-instructions.mdWhat gets written where
Section titled “What gets written where”| Agent | File | Action |
|---|---|---|
| Claude Code | .claude/settings.json | merge mcpServers.memoturn + hooks.PostToolUse |
| Claude Code | CLAUDE.md | merge or create. Adds ## Memory (Memoturn) |
| Cursor | .cursor/mcp.json | merge mcpServers.memoturn |
| Cursor | .cursor/hooks.json | merge hooks.afterFileEdit |
| Cursor / Codex | AGENTS.md | merge or create |
| Codex CLI | ~/.codex/config.toml | append [mcp_servers.memoturn] |
| Codex CLI | .codex/hooks.json | merge hooks.PostToolUse |
| Copilot | .github/copilot-instructions.md | merge or create (no MCP; Copilot is instructions-only) |
| Copilot (via VS Code MCP) | .vscode/mcp.json | merge servers.memoturn |
All writes are non-destructive: existing entries round-trip untouched, the memory section is inserted after the first # Heading 1 (or appended if no H1), and re-running --apply is idempotent. Every file should print “already present” the second time.
What it scans
Section titled “What it scans”Only config-file shape: no content embedding, no AST parsing, under 500 ms on a typical monorepo.
| Signal | Tag emitted |
|---|---|
package.json deps include next, or next.config.* | next.js, react |
astro.config.* or deps include astro | astro |
wrangler.{toml,jsonc,json} or deps include wrangler | cloudflare-workers |
deps include hono / drizzle-orm / prisma / @trpc/server / @tanstack/react-start | hono / drizzle / prisma / trpc / tanstack-start |
pnpm-workspace.yaml / turbo.json | pnpm-monorepo / turborepo |
pyproject.toml / requirements.txt (with fastapi) | python (+ python-fastapi) |
go.mod / Cargo.toml | go / rust |
.github/workflows/*.yml | github-actions |
For monorepos, the scanner walks one level into apps/* and packages/* and unions tags from each sub-package’s package.json into a single root profile. If you need per-package config, run memoturn onboard --root packages/api separately.
Copilot caveat
Section titled “Copilot caveat”Copilot has no MCP transport. The deliverable for Copilot is .github/copilot-instructions.md plus .vscode/mcp.json (which VS Code itself routes for any MCP-aware extension). If you only use Copilot, run memoturn onboard --agent copilot.
Dashboard preview
Section titled “Dashboard preview”The dashboard carries the same commands under Connect → Scan my repo. Skill and rule bundles install from the Skills and Rules surfaces. The scan itself is local, so it has to run on the machine the agent runs on.
Already-wired projects
Section titled “Already-wired projects”If you already have .claude/settings.json or .cursor/mcp.json set up, memoturn onboard adds only what’s missing and leaves your other entries untouched. Re-running it is the simplest way to refresh skill bundles after a dependency change (e.g. you just added Drizzle, re-run to pull in drizzle-migrations).