swarmvault init

Initialize a new SwarmVault workspace in the current directory.

Usage

swarmvault init [--obsidian] [--profile <alias-or-presets>] [--lite] [--install-agent-rules]

Options

  • --obsidian — Generate a minimal .obsidian/ workspace config alongside the vault
  • --profile <alias-or-presets> — Use default, personal-research, or a comma-separated preset list such as reader,timeline
  • --lite — Minimal LLM-Wiki starter: only raw/, wiki/, wiki/index.md, wiki/log.md, and swarmvault.schema.md; no config, no state/, no agent installs. The LLM agent maintains the wiki directly. Run swarmvault init without --lite later to upgrade to the full toolchain (graph, search, approvals).
  • --install-agent-rules — Install targets listed in agents; by default init leaves project-local agent rule files untouched

What It Creates

swarmvault init creates:

  • inbox/
  • raw/sources/
  • raw/assets/
  • wiki/
  • wiki/insights/
  • wiki/projects/
  • wiki/candidates/
  • state/manifests/
  • state/extracts/
  • state/analyses/
  • agent/
  • optional .obsidian/ files when --obsidian is passed

It also writes a default swarmvault.config.json if one does not already exist.

swarmvault init also creates a default swarmvault.schema.md. That file is the vault-specific instruction layer used by compile and query.

The generated config now includes a profile block. That deterministic profile layer controls preset composition, dashboard emphasis, guided-session routing, deep-lint defaults, and Dataview block generation. swarmvault.schema.md remains the human-written intent layer.

The personal-research preset also turns on profile.guidedIngestDefault and profile.deepLintDefault, so ingest, source add, source reload, and lint all start in their stronger modes unless you pass --no-guide or --no-deep.

With --obsidian, SwarmVault also writes a core-plugin-only .obsidian/ workspace config tuned for wikilinks, wiki/insights/, local asset storage, wiki/projects/index.md, wiki/candidates/index.md, and project tag color groups.

Default Configuration

The generated config uses the heuristic provider so the workspace can run without API keys:

{
  "workspace": {
    "rawDir": "raw",
    "wikiDir": "wiki",
    "stateDir": "state",
    "agentDir": "agent",
    "inboxDir": "inbox"
  },
  "providers": {
    "local": {
      "type": "heuristic",
      "model": "heuristic-v1",
      "capabilities": ["chat", "structured", "vision", "local"]
    }
  },
  "tasks": {
    "compileProvider": "local",
    "queryProvider": "local",
    "lintProvider": "local",
    "visionProvider": "local"
  },
  "profile": {
    "presets": [],
    "dashboardPack": "default",
    "guidedSessionMode": "insights_only",
    "dataviewBlocks": false,
    "guidedIngestDefault": false,
    "deepLintDefault": false
  },
  "viewer": { "port": 4123 },
  "projects": {},
  "agents": []
}