# Bulletjournal:init

> Initialize bulletjournal plugin settings for this vault. Use when the user says "init bulletjournal", "setup bulletjournal", "configure bulletjournal", or "/bulletjournal:init". Writes .claude/bulletjournal.local.md with vault paths and tool paths so other bulletjournal skills work without hardcoded values.

- Skill: `kjgarza/bulletjournal-init` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kjgarza/bulletjournal-init`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kjgarza/bulletjournal-init/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kjgarza (https://skillmd.com/u/kjgarza)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kjgarza/bulletjournal-init

---


# bulletjournal:init

Write `.claude/bulletjournal.local.md` with vault layout and integration paths. Run once per vault. All other bulletjournal skills read this file — without it they fall back to conventional defaults (which work for standard Obsidian PARA vaults).

## Arguments

| Flag | Description | Default |
|------|-------------|---------|
| `--daily PATH` | Prefix for daily notes | `daily` |
| `--journal PATH` | Prefix for journal notes | `journal` |
| `--templates PATH` | Obsidian templates folder | `Templates` |
| `--projects PATH` | Projects folder | `10-Projects` |
| `--inbox PATH` | Inbox folder | `00-Inbox` |
| `--areas PATH` | Areas folder | `20-Areas` |
| `--resources PATH` | Resources folder | `30-Resources` |
| `--archive PATH` | Archive folder | `40-Archive` |
| `--openclaw PATH` | Absolute path to OpenClaw workspace | (none — skips OpenClaw integration) |
| `--qmd PATH` | Path to qmd CLI binary | auto-detect |

## Steps

### 1. Parse arguments

Extract any `--flag value` pairs from the invocation arguments. Store as variables alongside defaults:

```
daily_path      = --daily      or "daily"
journal_path    = --journal    or "journal"
templates_path  = --templates  or "Templates"
projects_path   = --projects   or "10-Projects"
inbox_path      = --inbox      or "00-Inbox"
areas_path      = --areas      or "20-Areas"
resources_path  = --resources  or "30-Resources"
archive_path    = --archive    or "40-Archive"
openclaw_ws     = --openclaw   or ""
qmd_bin         = --qmd        or (auto-detect in step 2)
```

### 2. Auto-detect qmd binary

Run:

```bash
which qmd 2>/dev/null || find "$HOME/.local" "$HOME/.mise" /usr/local -name 'qmd' -type f 2>/dev/null | head -1
```

If `which qmd` succeeds, set `qmd_bin = "qmd"`. If find locates it, use that full path. If neither finds it, set `qmd_bin = "qmd"` and note it may need to be set manually.

### 3. Check for existing settings

```bash
cat .claude/bulletjournal.local.md 2>/dev/null
```

If the file exists, display its current content and ask:
> "Settings already exist. Overwrite? (yes/no)"

Stop if the user says no.

### 4. Prompt for missing values

If `--openclaw` was not provided, ask:
> "OpenClaw workspace path? (leave blank to skip OpenClaw integration)"

Accept the user's answer. If blank, `openclaw_ws` remains empty.

### 5. Show proposed configuration

Display all values before writing:

```
Setting              Value
-------------------  ----------------------------------------
daily_path           daily
journal_path         journal
templates_path       Templates
projects_path        10-Projects
inbox_path           00-Inbox
areas_path           20-Areas
resources_path       30-Resources
archive_path         40-Archive
qmd_bin              qmd
openclaw_workspace   /path/to/openclawy/workspace
```

Ask: "Write these settings? (yes/no)"

Stop if the user says no.

### 6. Write settings file

Create `.claude/` directory if needed:

```bash
mkdir -p .claude
```

Write `.claude/bulletjournal.local.md` using the confirmed values:

```markdown
---
daily_path: daily
journal_path: journal
templates_path: Templates
projects_path: 10-Projects
inbox_path: 00-Inbox
areas_path: 20-Areas
resources_path: 30-Resources
archive_path: 40-Archive
qmd_bin: qmd
openclaw_workspace: ""
---

# bulletjournal settings

Vault-specific configuration for the bulletjournal plugin.
Edit paths to match your Obsidian vault layout.
Changes take effect immediately for skills (no Claude Code restart needed).
```

Substitute the actual confirmed values for each field. If `openclaw_workspace` is empty, write `openclaw_workspace: ""`.

### 7. Update .gitignore

```bash
grep -q '\.claude/\*\.local\.md' .gitignore 2>/dev/null || echo '.claude/*.local.md' >> .gitignore
```

### 8. Confirm

```
bulletjournal settings written → .claude/bulletjournal.local.md
```

If qmd was not found in step 2, add a note:
```
⚠  qmd not found on PATH — set qmd_bin manually in .claude/bulletjournal.local.md
```

