init-bootstrap
init-bootstrap is an interactive setup wizard that guides new users through creating a personalized CLAUDE.md configuration file for the claudesidian plugin. It scans for existing Obsidian vaults, asks about workflow preferences and organizational methods, installs dependencies, configures git settings, and generates a customized configuration tailored to the user's note-taking style and vault structure. Use this when onboarding a new claudesidian installation or setting up a vault for the first time.
git clone --depth 1 https://github.com/heyitsnoah/claudesidian /tmp/init-bootstrap && cp -r /tmp/init-bootstrap/.agents/skills/init-bootstrap ~/.claude/skills/init-bootstrapSKILL.md
# Initialize Bootstrap Configuration
This command helps you create a personalized CLAUDE.md configuration file by
asking questions about your Obsidian workflow and preferences.
## Task
Read the CLAUDE-BOOTSTRAP.md template and interactively gather information about
the user's:
- Existing vault structure (if any)
- Workflow preferences
- Note-taking style
- Organization methods
- Specific requirements
Then generate a customized CLAUDE.md file tailored to their needs.
## Process
1. **Initial Environment Setup**
- Get current date with `date` command for timestamps
- Check current folder name and ask if they want to rename it
- If yes, guide them through renaming (handle parent directory move)
- Check for package.json and install dependencies:
- Try `pnpm install` first (faster, better)
- Fall back to `npm install` if pnpm not available
- Verify core dependencies are installed
- Check git status:
- If no .git folder: Initialize git repository
- If has remote origin: Ask about development work
- Personal vault: Remove origin and .github folder
- Contributing: Keep origin and workflows intact
- If clean local repo: Ready to go
- Don't create folders yet - wait until after asking about organization
method
2. **Check Existing Configuration**
- Look for existing CLAUDE.md
- If exists, ask if they want to update or start fresh
- Check for CLAUDE-BOOTSTRAP.md template
3. **Gather Vault Information**
- Search common locations for existing Obsidian vaults (.obsidian folder)
- Check these paths with appropriate depth limits:
- `~/Documents` (maxdepth 3) - all platforms
- `~/Desktop` (maxdepth 3) - all platforms
- `~/Library/Mobile Documents/iCloud~md~obsidian/Documents` (maxdepth 5 -
**macOS only**, iCloud vaults)
- Home directory `~/` (maxdepth 2) - all platforms
- Current directory parent (maxdepth 2) - all platforms
- If found, ask: "Found Obsidian vault at [path]. Is this the vault you want
to import?"
- Count files correctly: `find [path] -type f -name "*.md" | wc -l` (no depth
limit)
- Show vault size: `du -sh [path]`
- If confirmed, analyze vault structure:
- Run `tree -L 3 -d [path]` to see folder hierarchy
- Sample 10-15 random notes to understand content types
- List 30-50 recent file names to detect naming patterns
- Check for daily notes folder and format
- Identify most active folders by file count
- Detect if using PARA, Zettelkasten, Johnny Decimal, or custom
- If not the right one or none found:
- **On macOS only:** Ask: "Is your vault stored in iCloud Drive? (yes/no)"
- If yes (macOS): "Please enter the full path to your vault (e.g.,
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/YourVault)"
- If no, or on Linux/Windows: "Please enter the path to your existing
vault, or type 'skip' to start fresh"
- **Validate user-provided paths** (see "User Path Validation" section
below)
- If no existing vault or user skips, they're starting fresh
4. **Ask Configuration Questions**
- "What's your name?" (for personalization)
- "Would you like me to research your public work to better understand your
context?"
- If yes: Search for information
- ALWAYS show findings and ask "Is this correct?" for confirmation
- If multiple people found, list them numbered for selection
- If wrong person, offer to search again or skip
- Save relevant context about their work, writing style, areas of expertise
- "Do you follow the PARA method or have a different organization system?"
- "What are your main use cases? (research, writing, project management,
knowledge base, daily notes)"
**If using PARA, ask specific setup questions:**
[PARA Method by Tiago Forte](https://fortelabs.com/blog/para/)
- "What active projects are you working on?" (Create folders in 01_Projects)
- "What areas of responsibility do you maintain?" (e.g., Work, Health,
Finance, Family)
- "What topics do you research frequently?" (Set up in 03_Resources)
- "Any projects you recently completed?" (Can archive with summaries)
**General preferences:**
- Check .obsidian/community-plugins.json to see what plugins they use
- Analyze existing files to detect naming convention automatically
- Check for attachments folder to see if they work with media files
- "Do you use git for version control?"
- "Any specific websites or resources you reference often?"
- "Do you have any specific writing style preferences?"
- "Are there any workflows or patterns you want Claude to follow?"
- "Would you like a weekly review ritual? (e.g., Thursday project review)"
- "Do you prefer 'thinking mode' (questions/exploration) vs 'writing mode'?"
5. **Optional Tool Setup**
**Gemini Vision (already included)**
- Ask: "Gemini Vision is already included for analyzing images, PDFs, and
videos. Would you like to activate it? (yes/no/later)"
- Explain: "You just need a free API key from Google. This lets Claude
analyze any visual content in your vault."
- If later: "No problem! You can set it up anytime by getting an API key
from https://aistudio.google.com/apikey and adding `GEMINI_API_KEY` to
your shell profile, then running `claude mcp add --scope project
gemini-vision node .claude/mcp-servers/gemini-vision.mjs`."
- If yes:
- Guide to get API key from https://aistudio.google.com/apikey (free, takes
30 seconds)
- Help add to shell profile (.zshrc, .bashrc, etc.)
- Run
`claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs`
- Configure .mcp.json with API key
- Test the connection with a sample command
**Firecrawl (already included)**
- Ask: "Firecrawl is included for web research. Would you like to set it up?
(yes/no/later)"
- ExAdd or update YAML frontmatter properties to enhance Obsidian note organization. Use when the user asks to add, fix, normalize, or improve frontmatter, properties, metadata, tags, or YAML on a note or folder of notes.
Conduct an end-of-day review to capture progress and set up tomorrow. Use when the user asks for a daily review, end of day wrap-up, EOD note, what they did today, or wants to reflect on the day and plan tomorrow.
Remove AI-generated jargon and restore human voice to text. Use when the user asks to de-AI-ify, humanize, remove AI tone, or make text sound less machine-generated.
Download files from URLs to the Obsidian attachments folder and organize them with descriptive names. Use when the user provides URLs to download, asks to save files from the web, or wants to add web content as attachments.
Work with git worktrees for isolated parallel development. Use when starting feature work in isolation, when need separate workspace without branch switching, or when cleaning up worktrees after PR merge.
Help organize and process items in the 00_Inbox folder according to the PARA method. Use when the user asks to process, clear, sort, triage, or organize their inbox.
Install claudesidian shell command to launch Claude Code from anywhere. Use when the user wants to install a shell alias/launcher for their vault, or asks to set up the claudesidian command.
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.