Skip to content

Commit 6ed0698

Browse files
committed
Updated readme
1 parent 7efee90 commit 6ed0698

1 file changed

Lines changed: 31 additions & 6 deletions

File tree

README.md

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ It ships with page types that skew toward work (`project`, `meeting`, `decision`
5252
No vector database required. No cloud lock-in. No proprietary format. Just `.md` files on your disk that you (or any other tool) can read forever.
5353

5454
---
55-
5655
## Table of contents
5756

5857
- [Why it's built this way](#why-its-built-this-way)
5958
- [How it works](#how-it-works)
59+
- [What's new in 0.1.8](#whats-new-in-018)
6060
- [Installation](#installation)
6161
- [Quick start](#quick-start)
6262
- [Interactive TUI](#interactive-tui)
@@ -65,6 +65,7 @@ No vector database required. No cloud lock-in. No proprietary format. Just `.md`
6565
- [Configuration](#configuration)
6666
- [What a wiki page looks like](#what-a-wiki-page-looks-like)
6767
- [Design principles](#design-principles)
68+
- [Migrate external vault](#migrate-external-vault)
6869
- [Roadmap](#roadmap)
6970

7071
---
@@ -168,7 +169,7 @@ This still calls the LLM and shows you exactly which pages would be created (`ne
168169

169170
## Interactive TUI
170171

171-
Run `graybox` with no arguments to drop into a full-screen terminal UI (built on [Textual](https://github.com/Textualize/textual)) — arrow keys to move, Enter to select — where `capture`, `organize`, `ask`, `chat`, `search`, `pages`, `dupes`, `dashboard`, and workspace switching are all just a keystroke away. It's the recommended way to get a feel for the whole loop (capture → organize → ask) without memorizing any commands.
172+
Run `graybox` with no arguments to drop into a full-screen terminal UI (built on [Textual](https://github.com/Textualize/textual)) — arrow keys to move, Enter to select, and Escape to go back — where `capture`, `organize`, `ask`, `chat`, `dashboard`, `migrate-vault`, and workspace switching are all just a keystroke away. Search, pages, and duplicate browsing are available under **More Options**. It's the recommended way to get a feel for the whole loop (capture → organize → ask) without memorizing any commands.
172173

173174
<div align='center'>
174175
<img src = 'assets/tui.png' width=700></img>
@@ -216,7 +217,7 @@ A few things worth knowing:
216217
| `graybox ask "<question>"` | Searches the wiki (keyword + optional semantic + 1-hop graph expansion), asks the LLM to answer using only what it finds, and prints the answer plus its sources. |
217218
| `graybox chat` | Multi-turn Q&A session — ask follow-ups without returning to the main menu each time. Conversation history is threaded into both search and the LLM prompt, so pronouns/ellipsis ("when's it due?", "why him?") resolve against the previous turn. Grounding rules still apply: history only resolves references, never supplies facts on its own. `--all` to search across every workspace. |
218219
| `graybox search "<query>"` | Fast local keyword search over wiki pages — no LLM call. `--top-k N` to control result count. |
219-
| `graybox pages` | Lists all wiki pages. Filter with `--type project\|person\|meeting\|technology\|topic\|task\|action\|decision\|event`. |
220+
| `graybox pages` | Lists all wiki pages. Filter with `--type project\|person\|meeting\|technology\|company\|topic\|task\|action\|decision\|event`. |
220221
| `graybox status` | Quick summary: workspace path, inbox count, page count, active LLM model. |
221222
| `graybox dashboard` | Generates a self-contained, read-only HTML dashboard (`<workspace>/exports/dashboard.html`) with a task kanban board, filters, and a force-directed graph of your wiki's cross-links. Never writes back to `inbox/` or `wiki/`. [See Example](assets/dashboard.png)|
222223
| `graybox dupes` | Flags wiki pages that *look* like duplicates (fuzzy name match). Suggestion only — nothing is merged automatically. `--type` to restrict, `--threshold` (0–1, closer to 1 = more similar; default: `retrieval.dedup_threshold`, 0.85) to tune sensitivity. |
@@ -226,6 +227,7 @@ A few things worth knowing:
226227
| `graybox forget <item-id>` | Retracts a bad capture. By default it's a soft tombstone — the raw file stays on disk but is excluded from `search`, `pages` counts, and future `organize` runs. `--purge` also deletes the raw file (irreversible). `--scrub` additionally strips any notes already extracted from it out of the wiki pages they landed in. `--reason "..."` records why. |
227228
| `graybox rebuild-index` | Rebuilds the embedding index for semantic search (only relevant if `embeddings.enabled: true`). Backfills pages written before embeddings were turned on. |
228229
| `graybox refresh-summaries` | Re-synthesizes each page's summary from its accumulated notes, so long-lived pages don't go stale. `--type`, `--dry-run`, `--min-notes`, `--verbose` supported. |
230+
| `graybox migrate-vault <vault-path>` | One-time import of an existing Obsidian Markdown vault. Classifies notes, creates or merges typed pages, preserves source provenance, and rewrites recognized links. Add `--dry-run` to preview without writing. Run `graybox rebuild-index` afterward when embeddings are enabled. |
229231
| `graybox workspace-list` | Lists every workspace, marking which one is currently active. |
230232
| `graybox workspace-switch [name]` | Switches the active workspace. Omit `name` for an interactive picker. |
231233
| `graybox workspace-create [name]` | Creates a new, empty workspace and switches to it. `--description "..."` for a note; `--path <custom-path>` to store its data somewhere other than the default `<root>/workspaces/<name>/`. Omit `name` to be prompted interactively. |
@@ -370,6 +372,29 @@ Every fact traces back to a `sources:` entry — an inbox item ID — so you can
370372

371373
---
372374

375+
## Migrate external vault
376+
377+
Migration of external vault directly into Gray Box is currently supported for Obsidian only.
378+
379+
- **Obsidian vault migration** — import an existing vault of Markdown notes into the current Gray Box workspace. Notes are classified into typed pages, existing pages can be matched and merged, and the original source remains traceable through the inbox.
380+
- **A safe migration preview** — use `--dry-run` to see which pages would be created or merged without writing files. Migration is intentionally one-time, not a synchronization feature; keep a backup and avoid re-running it against a vault that has already been imported and edited.
381+
382+
Either run through TUI
383+
384+
or through following CLI commands:
385+
386+
```bash
387+
# Preview the import
388+
graybox migrate-vault /path/to/your/obsidian-vault --dry-run
389+
390+
# Run the import
391+
graybox migrate-vault /path/to/your/obsidian-vault
392+
```
393+
394+
The command recursively reads `.md` notes, skips Obsidian's `.obsidian/` bookkeeping directory, and reports created, merged, skipped, and failed notes. If embeddings are enabled, run `graybox rebuild-index` after the import.
395+
396+
---
397+
373398
## FAQ
374399

375400
<details>
@@ -472,8 +497,8 @@ Longevity and inspectability. A `.md` file with YAML frontmatter opens in litera
472497

473498
## Roadmap
474499

475-
- [ ] Quick Capture
476-
- [ ] Migrating external vaults
500+
- [ ] Quick Capture (To be implemented as a separate library)
501+
- [x] Migrating external vaults
477502
- [ ] Decision Intelligence & Memory Timeline
478503
- [ ] Meeting summarization
479504
- [ ] Automatic daily journal digest
@@ -485,4 +510,4 @@ Longevity and inspectability. A `.md` file with YAML frontmatter opens in litera
485510

486511
*Built to be the smallest, cleanest thing that could plausibly work — not the most feature-complete.*
487512

488-
</div>
513+
</div>

0 commit comments

Comments
 (0)