# Cherry Note — Full Context for AI > Cherry Note is a focused, distraction-free desktop writing app (Windows & macOS, with Linux coming soon) > for people who want their notes to look as good as they think. It pairs a calm > editing experience with rich Markdown formatting. This document teaches an AI > everything it needs to (1) describe Cherry Note accurately and (2) write notes > in Cherry Note's Markdown syntax. If a user asks you to write, draft, or format something **for Cherry Note**, output plain text using the Markdown syntax described in the "Markdown Syntax Reference" section below. When in doubt, standard/CommonMark Markdown also works. --- ## Docs - [llms.txt](https://cherry-note.app/llms.txt): A brief overview of Cherry Note and the Markdown syntax it supports. - [Full context](https://cherry-note.app/llms-full.txt): Complete app overview + the full Markdown syntax reference with examples. - [AGENTS.md](https://cherry-note.app/AGENTS.md): Operating guide for AI agents producing Cherry Note content. - [SKILL.md](https://cherry-note.app/SKILL.md): A loadable Agent Skill for writing Cherry Note Markdown. --- ## About Cherry Note Cherry Note is built for expressive note-taking. You can format text with headings, highlights, colors, callouts, tables, task lists, details blocks, code blocks, internal links, and more — inside an editor that stays clean and approachable. It feels simple when you need speed, yet powerful when your notes need hierarchy, emphasis, and visual meaning. Whether it's a quick meeting note or a long-form research document, it aims to handle both with the same calm confidence. ### Highlights - **Your files, your format.** Every note is a plain Markdown `.md` file on your disk — readable and editable even when Cherry Note isn't running. No lock-in. - **Export.** Save notes as Markdown, PDF, or DOCX. Export stays available even after a trial expires. - **Privacy by default.** No telemetry, no account, and **no built-in AI**. The app only reaches the internet to check for updates, verify a license, or send feedback you submit. The update check can be turned off. - **Accessibility.** Adjustable text size/font, independent UI zoom, a light & dark theme, and user-configurable keybindings for almost everything. - **Organization.** Outline navigation, tabs (pin, reorder, undo-close, searchable), and workspaces that keep separate sets of notes apart. - **Window & focus.** Always-on-top, a global focus hotkey, and a quick-capture hotkey that opens straight into a fresh note. - **Customization.** Per-note theme color, page width, and spellcheck; hand-picked fonts for body, headings, and code; a declutterable toolbar. - **Built-in guides.** A Getting Started note, a Feature Showcase, and Release Notes, all available in-app. --- ## Markdown Syntax Reference Cherry Note understands standard Markdown plus the custom extensions below. ### Text styles - **Paragraph** — default body text. - **Heading 1–4** — `#`, `##`, `###`, `####`. ### Inline marks | Feature | Syntax | |----------------|---------------| | Bold | `**text**` | | Italic | `_text_` | | Underline | `__text__` | | Strikethrough | `~~text~~` | | Inline code | `` `text` `` | | Superscript | `^{text}` | | Subscript | `_{text}` | | Small text | `||text||` | ### Text color ``` ~={ColorName} text here=~ ``` Example: `~={Cyan} Cyan colored text=~` ### Highlight ``` =={ColorName} text here== ``` Example: `=={Cyan} Cyan Highlighted Text==` Omitting the color (`==text==`) also works and applies the default highlight color. **Available color names** (for both text color and highlight, sorted by hue): `Red`, `Orange`, `Amber`, `Yellow`, `Lime`, `Green`, `Emerald`, `Teal`, `Cyan`, `Sky`, `Blue`, `Indigo`, `Purple`, `Fuchsia`, `Pink`, `Rose`. ### Text alignment Prefix a paragraph or heading with an alignment token: ``` {<->} Centered paragraph {->} Right-aligned paragraph {==} Justified paragraph ``` Left-aligned is the default (no prefix needed). ### Lists - **Bullet list** — `- item` - **Ordered list** — `1. item` - **Task list** — `- [ ] item` (unchecked) / `- [x] item` (checked) - All list types support nested indentation. ### Links ``` [link text](https://url.com) ``` Inline marks work inside link text, e.g. `**[bold link](https://url.com)**`. ### Blockquote ``` > quoted text ``` Supports inline marks and code spans inside. ### Code block Use a fenced code block with an optional language hint (e.g. `ts`, `json`): ```` ```ts // code here ``` ```` ### Horizontal rule ``` --- ``` ### Details (collapsible section) ``` :::details {theme: Blue} Summary / title text --- Content goes here. Supports full Markdown inside. ::: ``` - `theme` accepts one of: Yellow, Orange, Sienna, Red, Pink, Purple, Indigo, Blue, Cyan, Green, Lime (case-insensitive). This is a fixed set — note it differs from the inline text/highlight palette: Amber, Sky, Teal, Emerald, Fuchsia, and Rose are NOT valid details themes (they render with no theme), while Sienna is theme-only. - `isExpanded` accepts `true`/`false` and defaults to `false` (collapsed). - The line before the inner `---` is the summary/title; content goes after it. ### Callout blocks ``` > [!NOTE] Title here > Body text here. ``` Types: `NOTE`, `INFO`, `WARNING`, `IMPORTANT`, `SUCCESS`. ### Tables Standard Markdown table syntax. Inline marks work inside cells. ### Images Standard Markdown images are supported. ### Arithmetic blocks A fenced code block whose language is `cherry-note-arithmetic`. It evaluates math live. Supports basic operators (`x` works as `*`) and the compound-assignment operators `++`, `--`, `+=`, `-=`, `*=`, `/=`. Uses mathjs under the hood, including units. Basic expressions and variables: ```` ```cherry-note-arithmetic 6 * 7 sqrt(81) let price = 120 let tax = price * 0.2 price + tax ``` ```` Unit conversions (any unit mathjs supports): ```` ```cherry-note-arithmetic 4 kg to g 5 km to miles 72 degF to degC ``` ```` Maths on unit-variables (unit variable + unitless variable): ```` ```cherry-note-arithmetic (60kg) * 2 let w = 55kg (w in grams) / 11 20m + 3 ``` ```` Isolated scope — add ` isolated` to the block language. Variables created here are local to the block; global variables are not readable inside it: ```` ```cherry-note-arithmetic isolated // variables here are not in the global scope (referenced in this block only) ``` ```` Blocks are **global** by default — variables are shared across the whole note. Other supported features: - `let` is optional — a bare `price = 120` declares a variable too. - `const name = …` declares an immutable value (reassignment is rejected). - Names starting with `_` (e.g. `_scratch`) stay local to the block even in global scope. - Comments: `//` to end of line, and `/* … */` inline. - Numeric separators are allowed: `1_000_000`. ### Emoji Emoji are supported (e.g. 🍒). --- ## Example A small Cherry Note document using several features: ``` # Quarter planning 🍒 Goals for **Q3** — keep it =={Amber} tight== and ~={Emerald} shippable=~. > [!NOTE] Kickoff > Lock scope before Monday. - [x] Draft the roadmap - [ ] Review with the team - [ ] Ship the beta ```