All checks were successful
CI/CD / detect-changes (pull_request) Successful in 21s
CI/CD / test-frontend (pull_request) Successful in 22s
CI/CD / test-go-pg (pull_request) Successful in 2m34s
CI/CD / test-sqlite (pull_request) Successful in 3m3s
CI/CD / build-and-deploy (pull_request) Successful in 1m21s
Obsidian-style [[wikilinks]] for the notes surface. New ext_notes_links table (source_id, target_id, link_text) with bidirectional indexes. Backend: _extract_wikilinks() parses [[...]] via split (no regex in Starlark). _sync_links() on create/update resolves titles to note IDs. Cascade delete cleans both directions. GET /links/:id and GET /backlinks/:id endpoints. Frontend: wikilinks render as clickable links in preview — blue for resolved, red for unresolved. Clicking resolved navigates; clicking unresolved creates the note and re-saves source to resolve the link. BacklinksPanel shows incoming links below editor with click navigation. Notes package 0.3.0 → 0.4.0. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Notes
Markdown notes surface with sidebar navigation, live preview, and search.
Status: v0.1.0
Core CRUD with markdown textarea and inline preview.
Features
- Create, edit, archive notes
- Markdown editing with live preview toggle
- Auto-save with debounce (1s)
- Pin important notes to top
- Full-text search across title and body
- Light/dark theme support
Planned
- v0.4.1: Folders + navigation tree
- v0.4.2: Tags + enhanced search
- v0.4.3: Backlinks +
[[wikilinks]] - v0.4.4: Rich editor (CodeMirror 6) + import/export
Data
Single notes table in ext_data:
| Column | Type | Description |
|---|---|---|
| title | text | Note title |
| body | text | Markdown content |
| folder_id | text | Folder reference (v0.4.1) |
| pinned | int | 0 or 1 |
| archived | int | Soft delete flag |
API
| Method | Path | Description |
|---|---|---|
| GET | /notes | List notes (lightweight, no body) |
| POST | /notes | Create note |
| GET | /notes/:id | Get note with full body |
| PUT | /notes/:id | Update note |
| DELETE | /notes/:id | Archive (or hard delete with ?hard=1) |
| GET | /search?q=term | Search title and body |
| GET | /stats | Note counts |
Keyboard Shortcuts
Ctrl/Cmd+S— Force saveTab— Insert two spaces