{
  "id": "notes",
  "title": "Notes",
  "type": "full",
  "tier": "starlark",
  "route": "/s/notes",
  "auth": "authenticated",
  "layout": "single",
  "version": "0.8.0",
  "icon": "📝",
  "description": "Markdown notes surface with rich editor, folders, tags, backlinks, import/export, sidebar tabs, document outline, and note graph.",
  "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"},
    {"method": "GET",    "path": "/graph"},
    {"method": "GET",    "path": "/folders"},
    {"method": "POST",   "path": "/folders"},
    {"method": "PUT",    "path": "/folders/*"},
    {"method": "DELETE", "path": "/folders/*"},
    {"method": "POST",   "path": "/notes/move"},
    {"method": "GET",    "path": "/tags"},
    {"method": "GET",    "path": "/tags/*"},
    {"method": "PUT",    "path": "/tags/*"},
    {"method": "GET",    "path": "/links/*"},
    {"method": "GET",    "path": "/backlinks/*"}
  ],

  "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"]
      ]
    },
    "tags": {
      "columns": {
        "note_id": "text",
        "tag":     "text"
      },
      "indexes": [
        ["note_id"],
        ["tag"]
      ]
    },
    "links": {
      "columns": {
        "source_id": "text",
        "target_id": "text",
        "link_text": "text"
      },
      "indexes": [
        ["source_id"],
        ["target_id"]
      ]
    },
    "folders": {
      "columns": {
        "name":       "text",
        "parent_id":  "text",
        "creator_id": "text",
        "sort_order":  "int"
      },
      "indexes": [
        ["parent_id"],
        ["creator_id"]
      ]
    }
  },

  "settings": {
    "default_view": {
      "type": "string",
      "label": "Default View",
      "description": "Default note list view: recent or pinned",
      "default": "recent"
    },
    "editor_mode": {
      "type": "string",
      "label": "Default Editor Mode",
      "description": "How notes open: rendered (read-only preview), edit (CodeMirror editor), or split (side-by-side)",
      "default": "rendered"
    }
  }
}
