initial-setup

Use on first install or when reconfiguring mnemo. Interactive onboarding that creates config.json with vault name, taxonomy, language preferences, and integration settings.

mnemo:setup β€” Interactive Onboarding

First-time setup for mnemo. Creates config.json with all settings.

Workflow

Step 1: Welcome

🧠 Welcome to mnemo β€” persistent memory for Claude Code.

Let's set up your configuration. This takes about 30 seconds.

Step 2: Vault Name

What's your Obsidian vault name?
(The name shown in Obsidian's vault switcher)
> main

Verify vault exists:

obsidian search query="test" vault="{input}"

If error β†’ "Vault not found. Is Obsidian open? Check the vault name."

Step 3: Note Taxonomy

Which note taxonomy do you use?

[1] Atom/Molecule/Source/Session/MOC (Zettelkasten-inspired)
[2] PARA (Projects/Areas/Resources/Archive)
[3] Custom (you'll define prefixes and tags)

> 1

Map selection to taxonomy config.

Step 4: Links Section Name

What heading do you use for note cross-references?

[1] ## Бвязи (Russian)
[2] ## Links
[3] ## Related
[4] ## Connections
[5] Custom

> 1

Step 5: Save Config

Write ~/.mnemo/config.json:

{
  "vault": "main",
  "taxonomy": {
    "atom": { "prefix": "Atom β€” ", "tag": "atom" },
    "molecule": { "prefix": "Molecule β€” ", "tag": "molecule" },
    "source": { "prefix": "Source β€” ", "tag": "source" },
    "session": { "prefix": "Session β€” ", "tag": "session" },
    "moc": { "prefix": "MOC β€” ", "tag": "moc" },
    "inbox": { "prefix": "Inbox β€” ", "tag": "inbox" }
  },
  "links_section": "## Бвязи",
  "handoff_note": "Meta β€” Session Handoff"
}

Step 6: Create Handoff Note

Use MCP for shell-safety (handoff may accumulate markdown with code blocks over time):

mcp__obsidian__create(
  path: "Meta β€” Session Handoff.md",
  file_text: """---
type: meta
tags: [meta, handoff, cross-session]
---

# Meta β€” Session Handoff

Cross-session continuity file. Updated by mnemo:session.

## Pending

## Context
- mnemo setup completed on {date}
"""
)

Why MCP, not CLI: handoff is edited repeatedly. As soon as it contains a code block with backticks, CLI obsidian create/append content="..." triggers zsh command substitution. MCP passes content as JSON parameter β€” always safe.

Step 7: Done

🧠 mnemo is ready!

Your skills:
  /mnemo:health    β€” vault audit & analytics
  /mnemo:connect   β€” discover hidden links
  /mnemo:session   β€” session notes + handoff
  /mnemo:ask       β€” search & synthesize
  /mnemo:sort      β€” classify inbox notes
  /mnemo:save      β€” memory routing cascade
  /mnemo:review    β€” session completeness review

Config saved to: ~/.mnemo/config.json
Handoff note created: Meta β€” Session Handoff

Try: /mnemo:health

Gotchas

  • Run once β€” if config.json exists, ask before overwriting
  • Obsidian must be open β€” verify during vault name step
  • Don't create vault structure β€” mnemo works with existing vaults, doesn't impose folders
  • PARA taxonomy β€” if selected, map to: project/area/resource/archive with appropriate prefixes