Skip to content

Development

Working on pi-vault-mind itself. The repo layout, the publishing pipeline, and the roadmap.

Documents in this section

  • Contributing


    Dev setup (Node 20+, pnpm 8+), project structure, commit conventions (Conventional Commits), and the bug report / feature request workflow.

  • Publishing


    How to publish this extension to npm. The files field, version bumping, and the optional GitHub Actions workflow for automated publishing.

  • :material-roadmap:{ .lg .middle } Future work


    The roadmap: codegraph integration, pagination for query_wiki, TUI rendering, dedup via semantic similarity, and more.

Project structure

pi-vault-mind/
├── index.ts                ← main extension entry
├── src/
│   ├── commands.ts         ← /wiki command tree
│   ├── events.ts           ← pi event hooks (before_agent_start, etc.)
│   ├── graph.ts            ← entity extraction + BFS traversal
│   ├── index.ts            ← bootstrap
│   ├── lance.ts            ← LanceDB client + Ollama + transformers
│   ├── server.ts         ← HTTP server (Obsidian bridge)
│   ├── settings-ui.ts    ← interactive TUI wizards
│   ├── state.ts            ← active collection state
│   ├── tools.ts            ← the 12 wiki_* tools
│   ├── types.ts            ← config schema
│   ├── utils.ts            ← config loading, helpers
│   ├── vault-writer.ts     ← JSONL + vault sync
│   ├── watcher.ts          ← passive file watcher
│   └── widget.ts           ← status bar widget
├── skills/                 ← Agent Skills (auto-loaded by pi)
│   ├── vault-mind/SKILL.md
│   ├── vault-mind-miner/SKILL.md
│   ├── vault-mind-broadcaster/SKILL.md
│   ├── vault-mind-heavy-lifter/SKILL.md
│   ├── vault-mind-manager/SKILL.md
│   └── vault-mind-setup/SKILL.md
├── docs/                   ← this documentation site (MkDocs)
├── mkdocs.yml              ← docs site config
├── package.json
└── README.md

Building & testing

pnpm install
pnpm build       # tsc → dist/
pnpm test        # node --test dist/test/index.test.js
pnpm check       # biome check --write . && tsc --noEmit

Commit conventions

This project uses Conventional Commits.

Type Use for
feat New tool, command, config option
fix Bug fix
docs README, skill, reference changes
test Adding or fixing tests
chore Build, dependencies, tooling
refactor Code change that is neither feat nor fix