This document outlines the main structures for creating Note Template objects.

NoteTemplate

NoteTemplate
Object
{
  "id": "template-abc",
  "title": "Project Documentation Template",
  "globalPrompt": "Overall style: straightforward",
  "sections": [
    {
      "id": "heading-1",
      "type": "heading",
      "properties": {
        "level": 1,
        "text": "Introduction"
      },
      "children": []
    },
    {
      "id": "text-1",
      "type": "text",
      "prompt": "Explain the project background",
      "properties": {
        "detail_level": "medium",
        "tone": "formal"
      }
    },
    {
      "id": "list-1",
      "type": "list",
      "prompt": "List key objectives",
      "properties": {
        "list_type": "bullet",
        "min_items": 1,
        "max_items": 3
      }
    }
  ]
}

Section

Section
Discriminated Union

A discriminated union that represents any one of the major section types. The type field determines which schema applies.

[
  {
    "id": "heading-1",
    "type": "heading",
    "properties": { "level": 1, "text": "Overview" },
    "children": []
  },
  {
    "id": "text-1",
    "type": "text",
    "prompt": "Brief overview text",
    "properties": { "tone": "technical" }
  },
  {
    "id": "list-1",
    "type": "list",
    "prompt": "Key tasks",
    "properties": { "list_type": "bullet" }
  }
]

HeadingSection

Important Note on Nesting:
There is a maximum heading nesting depth of 2.

HeadingSection
Object
{
  "id": "heading-1",
  "type": "heading",
  "properties": {
    "bold": true,
    "italic": false,
    "hideIfEmpty": false,
    "level": 1,
    "text": "Project Introduction"
  },
  "children": []
}

TextSection

TextSection
Object
{
  "id": "text-1",
  "type": "text",
  "prompt": "Provide a concise summary of the project scope.",
  "properties": {
    "bold": false,
    "italic": false,
    "hideIfEmpty": true,
    "formatting_style": "markdown",
    "detail_level": "brief",
    "tone": "casual",
    "label": "Project Scope",
    "bold_label": false,
    "italic_label": false,
    "min_sentences": 2,
    "max_sentences": 3,
    "emptyPlaceholder": "No scope defined yet"
  }
}

ListSection

ListSection
Object
{
  "id": "list-1",
  "type": "list",
  "prompt": "List the main deliverables of the project.",
  "properties": {
    "bold": false,
    "italic": false,
    "hideIfEmpty": false,
    "formatting_style": "markdown",
    "detail_level": "minimal",
    "tone": "technical",
    "list_type": "bullet",
    "min_items": 1,
    "max_items": 5,
    "emptyPlaceholder": "No deliverables defined"
  }
}