Activate Project Intelligence for your repo
Run one command from your repo, choose Claude Code, Codex, Cursor, VS Code, Gemini CLI, Mistral, ChatGPT Desktop, or any MCP client, then start with a briefed agent instead of a blank agent.
create-snipara is the fast path: Hosted MCP first, existing instruction files preserved, optional local workflows available when the project needs them.Shared activation engine
create-snipara is the canonical activation engine behind the public editor story. VS Code can expose it as Snipara: Activate Workspace; Cursor can pair its OpenVSX extension with the same Hosted MCP bootstrap. The outcome should stay the same across Marketplace copy, docs, and README setup: connect the project, index local context, and start the next agent session with a First Work Brief.
Activation contract
Every run writes the same contract into .snipara/activation/activation-manifest.json, keeps the legacy manifest.json alias, and generates the client pack. That contract records the canonical engine, the editor entry point, the client role, and the parts an extension must not duplicate.
create-snipara scans the local workspace and writes the First Work Brief.Editor surfaces expose the right entry point and handoff, not a second engine.Companion continues the work with source sync, session-bootstrap, impact, and commits.Editor Activation Contract V1
Native editor integrations should launch the same engine and consume the machine-readable contract instead of parsing terminal prose.
npx create-snipara@latest init --client vscode --starter --json.snipara/activation/activation-manifest.json.snipara/activation/first-brief.md.snipara/activation/handoff.mdRequired fields are schemaVersion, consumerContract.version, surfaceContract, artifacts.firstBriefPath, lanes.*.status, and nextActions. VS Code should store the API key in SecretStorage and pass it through the child-process environment.
Get started in under 60 seconds
- Run
npx create-sniparafrom the repository root. - Choose the AI client you use for coding.
- Sign in or paste an existing Snipara API key.
- Read the first Work Brief while indexing continues.
npx create-sniparaExpected result
Connected to SniparaAI client configuredRepository analyzedContext index startedCode Graph indexing startedMemory candidates ready for reviewFirst Work Brief generatedThe agent keeps doing the reasoning and edits. Snipara supplies local context, reviewed project memory when accepted, active work, impact hints, proof, and handoffs through Hosted MCP.
No GitHub integration required
First value comes from the local repository: docs, instruction files, package scripts, Git status, source snapshot, memory candidates, initial handoff, and a First Work Brief. GitHub or GitLab can be connected later for PR/MR Answer Packs, reviews, team sync, and continuous repository sync.
npx create-snipara --starternpx create-snipara demoWhat the default setup does
Writes Hosted MCP config
Project-scoped config for the selected AI client, using Snipara as the project intelligence layer.
Preserves existing instructions
Existing AGENTS.md, CLAUDE.md, and client rules are extended or copied for review instead of being overwritten.
Creates a local companion pack
Adds activation manifest, handoff, memory-candidate review, briefs, source activation, resume, and workflow continuity when you need them.
Keeps advanced pieces optional
GitHub automation, hooks, Snipara Sandbox, and orchestrator are available, but they do not block the first connection.
This matrix is derived from the shared Snipara compatibility contract. It keeps docs, dashboard states, and generated automation bundles aligned around the configured agent.
| Agent | Generated by create-snipara | Hook install status | Caveat |
|---|---|---|---|
Claude Code Hosted MCP, project instructions, and verified lifecycle hooks. | AGENTS.md, CLAUDE.md, .mcp.json, .claude/settings.json, .claude/hooks/*.sh | Supported now | Claude Code is the verified full-hook baseline for Snipara automation. |
OpenAI Codex Hosted MCP, AGENTS.md, Codex config, and native hook automation. | AGENTS.md, .codex/config.toml, .codex/hooks.json, .codex/hooks/*.sh | Supported now | Codex documents native hooks and Snipara ships a bundle for supported lifecycle events; compaction-specific hooks remain unavailable. |
Cursor Hosted MCP, project rules, and native hook automation. | AGENTS.md, .cursor/mcp.json, .cursor/rules/snipara.mdc, .cursor/hooks.json, .cursor/hooks/*.sh | Supported now | Cursor documents project hooks and Snipara ships a bundle for supported lifecycle events; blocking/enforce decisions remain adapter-limited. |
VS Code / Copilot Hosted MCP and Copilot instructions; hook support is preview-gated. | .vscode/mcp.json, .github/copilot-instructions.md | Preview gated | VS Code agent hooks are preview and can be organization-disabled; Snipara does not install them by default. |
Gemini CLI Hosted MCP, GEMINI.md, and native hook automation. | GEMINI.md, .gemini/settings.json, .gemini/hooks/*.sh | Supported now | Gemini CLI documents native hooks and Snipara ships a supported bundle; review scripts and enable only in trusted repositories. |
Mistral Le Chat / Vibe Hosted MCP for Le Chat and Vibe plus ChatMistralAI tool calling templates. | AGENTS.md, MISTRAL.md, .vibe/config.toml, mistral-le-chat-mcp.json, mistral-langchain-tools.ts | MCP only | Mistral request hooks wrap model HTTP requests; they are not local agent lifecycle hooks, so Snipara installs MCP and instruction files only. |
MCP-only / Custom Hosted MCP tools and explicit commands only. | mcp-config.json | MCP only | MCP standardizes tools, resources, and prompts, not universal host lifecycle hooks. |
Kimi Code CLI Hosted MCP, project instructions, and a reviewable Kimi plugin hook bundle. | AGENTS.md, .kimi-code/mcp.json, .kimi-code/snipara-plugin/kimi.plugin.json, .kimi-code/snipara-plugin/hooks/*.mjs, .kimi-code/snipara-plugin/skills/snipara-workflow/SKILL.md | Supported now | Kimi Code CLI documents project MCP configuration and lifecycle hooks; Snipara generates a plugin bundle so user-level hook config is never overwritten silently. SessionStart is observation-only, so resume context is loaded through the session-start skill and an explicit Companion command. |
Advanced: hook selection model
Hooks are selected in Snipara project automation settings, not through a separate per-client installer. Local materialization uses the companion command surface:
npx -y snipara-companion@latest automations install --client claude-codenpx -y snipara-companion@latest automations diffnpx -y snipara-companion@latest automations updatenpx -y snipara-companion@latest automations statusUnsupported or preview-gated hook bundles remain disabled by default. Hosted MCP and generated instructions still work for every MCP-compatible client.
Advanced install profiles
| Profile | What it installs | Best for |
|---|---|---|
hosted-companion | Hosted MCP + snipara-companion | Default: hosted context plus managed local workflows |
hosted-only | Hosted MCP config only | Locked-down or minimal environments |
full-stack | Hosted MCP + snipara-companion + snipara-sandbox | Hosted context plus local execution. Orchestrator is not included unless --with-orchestrator is passed. |
runtime-only | snipara-sandbox only | Pure local execution without hosted API |
Architecture: hosted core and local edge
create-snipara installs a hosted-first setup. Snipara stays the source of truth for memory, review, policy, and orchestration. The local install only adds a Snipara Sandbox edge layer for hook capture, context restore, optional safe execution, and explicit production orchestration when requested.
- Hosted core: 128-tool MCP surface, reviewed memory, orchestration, automation policies
- Snipara Sandbox edge: local hooks, compatibility CLI flows, and optional
snipara-sandbox - Optional orchestrator:
snipara-orchestratoris installed only for production validation, proof gates, drift checks, or htask coordination. - Companion workflows:
snipara-companion query,status,brief,timeline,handoff,plan,multi-query,orchestrate,load-document,upload,source init,onboard-folder,chunk,events recent,session-bootstrap,task-commit,code impact,memory invalidate,memory supersede, and managed workflow commands - Generated companion pack:
.snipara/companionwith client-aware command presets, local usage guidance, and a doctor report - GitHub code path: source repositories go through the GitHub App flow, which creates or reuses the repository project and enables push sync
- Design rule: local adapters capture and forward signals; they do not own durable memory policy
Interactive Setup
Run npx create-snipara in your project directory. The default flow uses the recommended hosted-companion profile and asks only for the local choices needed to connect this repo.
Use --advanced only when you want profile selection, project IDs, hooks, GitHub prompts, orchestrator opt-in, or Snipara Sandbox provider prompts. Use --profile hosted-only or --skip-companion for minimal locked-down installs.
After install: continue the work
create-snipara gets the project connected. snipara-companion becomes the day-two command surface for agents that need status, briefs, timelines, phase commits, handoffs, source-selected code impact, memory lifecycle correction, and resume points.
snipara-companion session-bootstrap --include-session-context --max-context-tokens 1000snipara-companion statussnipara-companion source init .snipara-companion source sync --jsonsnipara-companion brief --task "ship auth hardening"snipara-companion code impact --changed-files src/auth.ts --diff-summary "auth hardening"snipara-companion memory supersede mem_old mem_new --reason "corrected decision"snipara-companion workflow phase-commit build --summary "tests green"snipara-companion handoff --summary "ready for release checks"snipara-companion workflow resume --include-session-context| Prompt | Description |
|---|---|
| Project slug | Auto-detected from git remote or directory name |
| Project ID (advanced) | Optional, for advanced use cases |
| Snipara auth path | Existing API key, free Project Intelligence signup flow, or skip Snipara auth for Snipara Sandbox only |
| API key | Your Snipara API key when you choose the manual key-based path |
| AI client | Claude Code, Codex, Cursor, VS Code, Gemini CLI, Mistral, ChatGPT, or custom MCP |
| Install profile (advanced) | Hosted only, hosted + companion, full stack, or Snipara Sandbox only |
| Orchestrator (advanced or --with-orchestrator) | Optional snipara-orchestrator install for proof-based production validation, drift checks, and htask workflows |
| Hooks (advanced) | Whether compatible local hooks should be generated when supported |
| GitHub automation (advanced or --github) | When a GitHub remote is detected, whether to open the Snipara GitHub App setup with repo and branch already carried through |
| LLM provider (Snipara Sandbox profiles) | OpenAI, Anthropic, or None (for snipara-sandbox run/snipara-sandbox agent CLI) |
| Run snipara-sandbox init (Snipara Sandbox profiles) | Optional, configure execution environment (sandbox/docker/local) |
Browser Approval
create-snipara uses the terminal for local setup and the browser for identity or source approval.
- The terminal writes config, doctor reports, hooks, and local project wiring.
- The browser handles Snipara login and GitHub approval.
- Local source activation does not need provider approval; it writes local snapshots and overlay caches from the current folder.
- GitHub approval stays in the browser because the user must explicitly choose which account, organization, and repositories Snipara can read.
That keeps repository sync explicit and revocable. The Hosted MCP server is for agent usage after setup, not for the initial source-permission choice.
Choose Sources
Local folder first
Use snipara-companion source init . immediately after setup when the user has not installed the GitHub App, when the folder has no Git metadata, or when they want a private local fallback. It creates .snipara/source/latest.json, previews supported document sync, and refreshes the local code overlay. Add source sync --json to refresh that state after file changes.
GitHub repository
Use npx create-snipara --github when the current folder is a GitHub repo and the team wants canonical hosted repository sync, shared CODE graph freshness, and PR Answer Packs. The CLI detects the repo and opens the Snipara GitHub App flow with repo, branch, and optional path filter already carried through.
GitLab repository
For GitLab repositories, connect GitLab from the dashboard, choose the repository, branch, and path filter, then enable repository sync. Push webhooks refresh docs and CODE graph files, while merge request events queue MR Answer Packs and publish ready packs back to a sticky GitLab merge request note.
Business workflows
Use Helvabase when the user wants to work from local folders, mounted Drive or SharePoint exports, old offers, PowerPoints, templates, or RFP files. Snipara source is for local project activation; Helvabase is for controlled business dossier workflows.
Maintenance Commands
doctor
Validates local wiring and writes .snipara/companion/doctor.json.
repair
Rebuilds local configuration, companion pack, hooks, and optional add-ons such as Sandbox or Orchestrator when requested.
upgrade
Upgrades installed local pieces and refreshes generated assets.
print-config
Shows the inferred local setup and install profile.
npx create-snipara doctornpx create-snipara repairnpx create-snipara repair --with-orchestratorExecution Environments
When you select Snipara Sandbox during setup, you'll be asked if you want to run snipara-sandbox init to configure the execution environment:
| Environment | Description | Use Case |
|---|---|---|
sandbox | RestrictedPython, safe stdlib only | Default, most secure |
docker | Full Python in isolated container | Recommended for full features |
local | Full access, no isolation | Development only |
Security Recommendation
Use docker mode for production and untrusted code. local mode is only recommended for development and AI-generated code.
You can also configure the environment later by running snipara-sandbox init manually.
API Key Requirements
Positioning Note
This page documents the automated installer and its manual key-based options.
Snipara itself is not API-key-only. Hosted MCP remains the primary agent path. Use local snipara-mcp login only for stdio compatibility, client development, or advanced testing.
| Tool | Snipara API Key | LLM API Key (OpenAI/Anthropic) |
|---|---|---|
execute_python MCP | Not needed | Not needed (your AI client is the LLM) |
snipara_context_query MCP | Required | Not needed |
snipara_remember/snipara_recall | Required | Not needed |
snipara-sandbox run / snipara-sandbox agent CLI | Optional (for context) | Required |
API Keys
| Type | Description |
|---|---|
| Existing API key | Use with --api-key; expected prefix is snp-, with legacy rlm_ keys still accepted |
| Browser signup key | Auto-provisioned by Snipara through the browser flow; returned prefix is snp- |
Command Line Options
Basic usagenpx create-sniparaWith existing API keynpx create-snipara --api-key snp-your-keySpecify project slugnpx create-snipara --slug my-projectStarter activation modenpx create-snipara --starterOpen the guided activation demo without changing this reponpx create-snipara demonpx create-snipara demo --no-openAdvanced prompts for profiles, hooks, GitHub, and Snipara Sandboxnpx create-snipara --advancedSnipara Sandbox only - no Snipara API key needednpx create-snipara --runtime-onlyOpen GitHub automation for the detected reponpx create-snipara --githubnpx create-snipara --github-path docs/Skip local companion CLInpx create-snipara --skip-companionSkip specific installationsnpx create-snipara --skip-mcp # Skip local snipara-mcp packagenpx create-snipara --skip-runtime # Skip snipara-sandboxnpx create-snipara --skip-hooks # Skip local hooksnpx create-snipara --skip-test # Skip connection testnpx create-snipara --skip-github # Skip GitHub automation promptAccept all defaults (non-interactive)npx create-snipara -y --api-key snp-xxx --slug my-projectWhat Gets Created
.mcp.json
{ "mcpServers": { "snipara": { "type": "http", "url": "https://api.snipara.com/mcp/your-project", "headers": { "X-API-Key": "snp-your-key" } }, "snipara-sandbox": { "type": "http", "url": "http://localhost:8765/mcp", "headers": {} } }}Claude Code Hooks (if selected)
snipara-startup.sh- Restores session contextsnipara-session.sh, auto-remembers commitssnipara-compact.sh, saves context before compaction
Local Companion Pack
create-snipara also generates a small project-local starter pack under .snipara/companion. The default hosted-companion mode uses it for managed workflow commands; hosted-only keeps the same pack as an upgrade path.
README.md- client-aware usage guidance and starter commandscommands.json- machine-readable command presets for local workflows
Companion Workflows
The companion CLI is a thin local facade over hosted Snipara workflows. It is useful when you want repeatable local commands in addition to MCP access.
Operating Rule
Use context commands first for source truth (query, shared-context, load-document). Use memory commands second for durable state (session-bootstrap, task-commit).
snipara-companion query --query "how does auth middleware work?"snipara-companion shared-context --categories MANDATORY BEST_PRACTICESsnipara-companion plan --query "implement webhook retry hardening"snipara-companion multi-query --queries "recent incidents" "rate limit headers"snipara-companion orchestrate --query "map auth architecture"snipara-companion load-document --path docs/architecture/auth.mdsnipara-companion recall --query "What did we decide about auth retries?" --type decisionsnipara-companion events recent --limit 20snipara-companion session-bootstrap --include-session-context --max-context-tokens 1000snipara-companion task-commit --summary "Shipped retry hardening"These commands print human-readable output by default. Add --json when you need the raw hosted response.
Environment Files
Updates .env.example and .env.local with:
Snipara ConfigurationSNIPARA_API_KEY=your_api_keySNIPARA_PROJECT_SLUG=your-projectSnipara Sandbox LLM Provider (if configured)OPENAI_API_KEY=sk-...orANTHROPIC_API_KEY=sk-ant-...After Installation
For Claude Code / Cursor
- Claude Code loads MCP from the generated project
.mcp.json;.claude/settings.jsonis used only when hooks are enabled. Cursor uses the generated project MCP config and rule files. - Restart your AI client or open a new agent session.
- Confirm Snipara appears in MCP settings or ToolSearch. If not, run
npx create-snipara doctor --client claude-code.
For Claude Desktop
- Restart Claude Desktop
- Config is at
~/Library/Application Support/Claude/claude_desktop_config.json
Business Folder Onboarding
For dashboardless business-context imports, let Claude, ChatGPT, Codex, or another LLM client use its own Drive, Gmail, Notion, or local-file access to materialize a folder, then use snipara-companion to preview and apply the import.
snipara-companion onboard-folder ./client-export --source-provider local_folder --write-manifest ./snipara-onboard.jsonsnipara-companion onboard-folder ./client-export --source-provider local_folder --applyonboard-folder classifies folders as business, code, mixed, or unknown, but it is business-first. If it detects a source-code repository, use the GitHub or GitLab onboarding path instead.
GitHub Repository Automation
When create-snipara detects a GitHub remote, it can open the Snipara GitHub App flow with owner/repo, branch, and optional path filter already carried through. The browser flow installs or updates the GitHub App, lets the user connect the detected repository, creates or reuses the matching Snipara project, enables push sync, and starts the first documentation sync.
GitLab Repository Automation
GitLab automation is configured from the dashboard rather than the --github CLI flag. Connect the GitLab account, select the project, enable sync, and keep the managed webhook active. Snipara then treats GitLab pushes and merge requests as first-class repository evidence for docs, CODE graph freshness, and MR Answer Packs.
npx create-snipara --githubnpx create-snipara --github-path docs/If you intentionally started with hosted-only, enable companion before using business-folder imports:
npx create-snipara repair --with-companionSnipara Sandbox Usage
MCP Tools (no LLM API key needed):
Your AI client (Claude, GPT, etc.) provides the LLM, no additional API key required.
| Tool | Description |
|---|---|
execute_python | Run Python in sandbox |
get_repl_context | Get session variables |
set_repl_context | Set session variables |
clear_repl_context | Clear session |
CLI Commands (requires LLM API key):
For snipara-sandbox run and snipara-sandbox agent, you need an LLM provider API key:
Set your LLM providerexport OPENAI_API_KEY=sk-...orexport ANTHROPIC_API_KEY=sk-ant-...Run commandssnipara-sandbox init # Initialize configurationsnipara-sandbox run --env docker # Run with Docker isolationsnipara-sandbox agent "task" # Autonomous agent modesnipara-sandbox visualize # Launch trajectory dashboardAvailable MCP Tools
If you enable hook-compatible local tooling, the install can also forward canonical lifecycle events into Snipara's automation API. That lets local adapters feel closer to a local-memory workflow while keeping review and persistence centralized.
After setup, you have access to the current 128-tool MCP contract across context, memory, automation, analytics, and orchestration:
| Category | Tools |
|---|---|
| Context | snipara_context_query, snipara_ask, snipara_search, snipara_sections |
| Planning | snipara_plan, snipara_decompose, snipara_multi_query |
| Memory | snipara_remember, snipara_recall, snipara_memories, snipara_forget, snipara_memory_attach_source, snipara_memory_verify, snipara_memory_invalidate, snipara_memory_supersede, snipara_memory_review_queue, snipara_memory_resolve_queue_item |
| Execution | execute_python, get_repl_context (via Snipara Sandbox) |
| Swarms | snipara_swarm_create, snipara_claim, snipara_htask_create |
Requirements
- Node.js 18+
- Python 3.10+ (for snipara-mcp and snipara-sandbox)
- Docker (optional, for Snipara Sandbox isolation)