Feat v0.4.0 notes surface (#22)

Add Notes as a standard installable surface package (type: full,
tier: starlark). Markdown editor with sidebar note list, live
preview toggle, auto-save, pin/archive, and full-text search.
Zero kernel changes — proves extension stack E2E.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 23:45:17 +00:00
parent 310048b7bb
commit 5e455c08cb
6 changed files with 1120 additions and 7 deletions

View File

@@ -0,0 +1,54 @@
{
"id": "notes",
"title": "Notes",
"type": "full",
"tier": "starlark",
"route": "/s/notes",
"auth": "authenticated",
"layout": "single",
"version": "0.1.0",
"icon": "📝",
"description": "Markdown notes surface with folders, tags, and backlinks.",
"author": "switchboard",
"permissions": ["db.write"],
"api_routes": [
{"method": "GET", "path": "/notes"},
{"method": "POST", "path": "/notes"},
{"method": "GET", "path": "/notes/*"},
{"method": "PUT", "path": "/notes/*"},
{"method": "DELETE", "path": "/notes/*"},
{"method": "GET", "path": "/search"},
{"method": "GET", "path": "/stats"}
],
"db_tables": {
"notes": {
"columns": {
"title": "text",
"body": "text",
"folder_id": "text",
"creator_id": "text",
"updated_at": "text",
"pinned": "int",
"archived": "int"
},
"indexes": [
["folder_id"],
["creator_id"],
["pinned"],
["updated_at"]
]
}
},
"settings": {
"default_view": {
"type": "string",
"label": "Default View",
"description": "Default note list view: recent or pinned",
"default": "recent"
}
}
}