You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add soft delete, gc, and doctor for bookmark catalogs
* feat: add gc/restore to deleted book marks.
* feat: add doctor for mult-machine mook mark reconcilliation
* chore: version bump
* docs: updated README
Copy file name to clipboardExpand all lines: README.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@
13
13
14
14
Terminal bookmark manager with hierarchical organization (Shelf → Collection → Mark). Bookmarks are persisted as plain TOML, enabling version control, clean diffs, and [dotfile manager](https://github.com/polymorcodeus/lnk) integration. Supports both interactive TUI and non-interactive CLI modes for scripting.
15
15
16
-
The roadmap includes search, lazy loading, stable identifiers, and atomic shelf-collection operations.
16
+
Bookmarks ship with stable identifiers (`catalog_id`), full-text search (`book mark search`), atomic writes, schema migration (`book migrate`), and soft-delete recovery (`book mark restore`, `book gc`).
17
17
18
18
## Quick Demo
19
19
@@ -115,6 +115,8 @@ collection_desc = "language and framework docs"
115
115
-`catalog_id` is a stable URL hash — duplicates are rejected across the entire catalog.
116
116
- Collections are keyed by name inside the `[Collections]` table.
117
117
- Marks are inline arrays-of-tables per collection.
118
+
- Optional RFC3339 timestamps (`created_at`, `updated_at`, `deleted_at`) track each entity's lifecycle; `deleted_at` marks a soft-deleted mark.
119
+
-`mark remove` soft-deletes by setting `deleted_at`; the mark is hidden from `list`/`get`/`search` until `book gc` purges it or `mark restore` brings it back.
118
120
-`schema_version` is the on-disk data format version (`2`), independent of the tool's release version (v1.x). `book migrate` upgrades older v1 files in place.
119
121
120
122
## Commands
@@ -130,8 +132,15 @@ collection_desc = "language and framework docs"
130
132
|`mark add <url>`| Add a bookmark (optionally non-interactive) |
131
133
|`mark edit`| Edit an existing bookmark (TUI) |
132
134
|`mark get`| Browse bookmarks and open one (TUI) |
133
-
|`mark list`| List bookmarks in a collection |
134
-
|`mark remove`| Remove a bookmark (TUI) |
135
+
|`mark list`| List bookmarks in a collection (`--trash` lists soft-deleted) |
136
+
|`mark search <query>`| Full-text search by title, URL, or tags |
137
+
|`mark remove`| Soft-delete a bookmark (TUI) |
138
+
|`mark restore`| Restore a soft-deleted bookmark (`--id`, or `--shelf`/`--collection`/`--url`) |
139
+
|`migrate`| Upgrade v1 shelf files to the v2 schema |
140
+
|`gc`| Purge soft-deleted marks past the retention window |
141
+
|`index rebuild`| Rebuild the derived search index |
142
+
|`index sync`| Reconcile the index with shelf changes |
143
+
|`doctor`| Detect post-merge duplicates and conflicts (`--fix` auto-merges; alias `sync`) |
135
144
|`catalog theme`| Generate `theme.json` with default TUI theme |
136
145
|`catalog template`| Generate `template.json` with default TUI templates |
137
146
|`catalog config`| Create the config file if missing |
0 commit comments