Skip to content

feat: sidebar tree by virtualPath, CLI docs rewrite, cleanup - #4

Merged
antono merged 6 commits into
mainfrom
feat/semantic-vault
Nov 4, 2026
Merged

antono merged 6 commits into
mainfrom
feat/semantic-vault

Conversation

@antono

@antono antono commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Summary

Six commits on top of the last merge from this branch (#3).

  • Sidebar tree by virtualPath (3933d5f, OpenSpec change add-virtual-path-tree): a page's cerbo:virtualPath now places it in a folder tree in the desktop sidebar. Folders are derived from paths, never stored. Collapse state is saved per vault in ui.toml.
    • Core: virtualPath on PageMeta, page_update_virtual_path, folder_rename with a per-page failure report.
    • CLI: cerbo page move <UUID> <PATH|--root>, cerbo folder rename <OLD> <NEW>, path suffix in page list.
    • Tauri: page_move, folder_rename, ui_settings_set_collapsed_folders.
    • Desktop: chevrons and h/l keys, m to move, Move and Rename-folder dialogs, right-click menu, drag-and-drop, shared path input with folder suggestions.
  • CLI docs rewrite and cerbo-cli skill (1b79a64), OpenSpec change documents (89221fa).
  • Cleanup: clippy on rustc 1.99 (513fe9c), docs reorganisation (f01b177), legacy files and dead code removed (cb07292).

Test plan

  • cargo test --workspace inside nix develop: 394 passed
  • bun run test (vitest): 175 passed
  • bun run check (svelte-check) and cargo clippy: clean
  • Desktop e2e (WebdriverIO on the nix-built app under xvfb): 3 spec files pass, including the new page-tree.e2e.ts
  • openspec validate --strict add-virtual-path-tree: valid
  • Hand check after merge: drag-and-drop, collapse state across a restart and across two vaults, light and dark theme

- drop the stray old-format vault committed at the repo root (.cerbo/,
  index/) and ignore /.cerbo/ there; the repository is not a vault
- drop tool caches: .lean-ctx/ and the stale generated gitnexus skills
  (they referenced core/src/index.rs, rename.rs and slug.rs, long gone)
- drop test-core.sh (same as `cargo test -p cerbo-core`) and the
  remark-gridtables type stub for a dependency that is not installed
- core: remove unused page helpers (get_page_path, cursor position and
  attachment stubs, has_h1/humanize_slug/ensure_page_has_h1), the legacy
  [[wikilink]] extractor and the unused fixtures module; the test-utils
  feature stays for the mock embedder
- package.json: name the package cerbo and drop the "#lib" alias that
  pointed to a missing src/lib/index.js
- README: app icon, short pitch, feature list, quick start and a table of
  links into docs/
- docs/README.md indexes the pages; development.md, cli.md, desktop.md and
  links-and-annotations.md take over the material that lived in the README
- storage.md: gather the legacy vocabulary, backrefs.ttl, index.json,
  migration and slug-model notes into one "Older vaults" chapter; add the
  config directory layout
- move the 2026-09-04 store model review to docs/archive/ with a note
Apply the fixes newer lints suggest in the lib targets (useless borrows in
format!, chunks_exact -> as_chunks, nested format!, manual range contains,
manual is_multiple_of) and mark the test modules that write fixtures with
std::fs::write as exempt from the disallowed_methods rule, matching the
pattern core/src/page.rs already uses. No behaviour change.
- expand clap help on every command and argument, with output shapes
- describe outputs of vault and page subcommands in the man page
- drop the AUTOMATIC MIGRATION section and legacy backrefs references
- add .agents/skills/cerbo-cli/SKILL.md for agents working a vault
Proposal, delta specs, design and tasks for rendering the sidebar as a
tree driven by cerbo:virtualPath, with a Move dialog, drag and drop,
folder rename, and cerbo page move / cerbo folder rename CLI commands.
- core: virtualPath on PageMeta, page_update_virtual_path, folder_rename
  with a per-page failure report, collapsed folders per vault in ui.toml
- cli: page move <UUID> <PATH|--root>, folder rename <OLD> <NEW>, path
  suffix in page list; man page, docs and the cerbo-cli skill updated
- tauri: page_move, folder_rename, ui_settings_set_collapsed_folders
- desktop: folders derived from paths with collapse state, h/l/m keys,
  Move and Rename-folder dialogs, context menu, drag-and-drop, shared
  path input with folder suggestions
- tests: core unit, CLI integration, vitest tree/path, desktop e2e spec
- openspec: tick add-virtual-path-tree tasks 1 to 6.2
@antono
antono merged commit 6f682bf into main Nov 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant