01 // The Problem

Your notes have no
semantic layer.

A bullet point could mean anything — a fact, a task, a risk, a question. You can't tell without reading everything again.

5 minutes to learn · works in any text field
❌ Prose / Markdown

The migration has some advantages in terms of performance — roughly 13% improvement was observed — but there are also some concerns. Most notably, the team hasn't worked with AWS before, which could be an issue. Whether we should use Reserved Instances is still an open question.

✓ CLN
=migration to AWS
+13% perf gain
!team has zero AWS experience
.hire contractor 90 days
?Reserved Instances vs on-prem TCO
Scan speed
Prose
—
CLN
—
02 // Four Operators

Start with four.
Add others later.

=
Equals
"What is it?"
= binary format for stack-based VM
= runs near-native speed in browsers
.
Dot
"What to do?"
. hire AWS contractor for 90 days
. run both APIs in parallel 6 months
!
Bang
"What can go wrong?"
! team has zero AWS experience
! GDPR — data must stay in EU region
@
At
"Who / when / where?"
@ owner: alex · deadline: Q3
@ source: Stanford WFH study, 2023

↑ Click any card to see examples

📚 Sidebar — Cornell Notes

Cornell Notes (Walter Pauk, 1956) split a page into a narrow cue column and a wide notes column. You quiz yourself by covering the right side and answering from cue keywords.

Cues
What speed?
Where runs?
Downside?
Notes
1.2–1.5× native
browsers + server
no direct DOM
Summary: Wasm = fast, portable, sandboxed. Use with JS, not instead of it.

CLN connection: the operator column is a Cornell cue column — but for every line, not just section headers. ! = "risk cue". . = "action cue". No covering required — cues are always visible.

→ Now test yourself

Which operator
fits this line?

1 / 6
02.5 // Scan Challenge

Find it without
reading it.

CLN operators are pre-attentive — your brain classifies them before you finish reading. Prove it.

✓ Your brain is already reading CLN symbols, not text. That's the whole point.
03 // Write Your First Block

Type it.
Feel the difference.

Your CLN block — type below
Live preview
Start typing above…
1
Write a // NN · Title block header
2
Add an = definition line
3
Add a . action line
4
Add a ! risk line
🎉
First CLN block complete!
Your notes now have a semantic layer.
04 // Take a Template

Copy. Paste.
Start anywhere.

These templates work in any plain-text field: Notion, Telegram, VS Code, a .txt file. No software, no renderer.

Universal summary template
= SUMMARY: [Title] = core thesis — one line = key insight . main point 1 * supporting detail . main point 2 + strength - weakness ! risk / warning @ source: author / year @ domain: field
Decision / analysis template
= ANALYSIS: [Decision] = context — one line + argument for + argument for - argument against - argument against ! critical risk @ mitigation: how to handle it . recommendation @ owner: name · deadline: date ? open question
Meeting notes template
= MEETING: [Topic] — [Date] @ team: names · duration: N min // 01 · Decisions = decided: … // 02 · Actions . action item @ owner: name · due: date // 03 · Risks & Open ! blocker or risk ? open question
★ v2.8 — inline formatting + directives
%version: 2.8 %const: project = "[Name]" %const: owner = "[Person]" %const: due = "[Date]" = PROJECT: %%project @ owner: **%%owner** · due: **%%due** ! ==critical blocker== — describe it here @ owner: **%%owner** · must resolve before **%%due** . task: run `command-here` before merge . ~~old approach~~ → **new approach** // tradeoffs ~ *speed* vs *completeness* — pending decision → ship to 10% first · full rollout after **%%due**
★ // v2.8 — Inline Formatting

Emphasis inside
the content slot.

v2.8 adds 7 inline tokens — parsed mid-line only, never at line-start. Operators stay untouched.

**bold**
Bold
names, amounts, deadlines
*italic*
Italic
terms, light emphasis
`code`
Code
commands, values, keys
~~strike~~
Strike
deprecated, cancelled
==highlight==
Highlight
critical, must-not-miss
$math$
Math
formulas, MathJax/KaTeX
! Rule: inline tokens parsed mid-line only — never at line-start.
* at line-start = Note operator  |  *word* mid-line = italic. Position decides.
Live example — rendered
! auth cert expires 2026-03-15 — blocks all deployments
@ owner: DevOps · fix: run certbot renew before 2026-03-10
. manual rotation → auto-renew via cron
~ uptime vs migration effort — tradeoff
→ Key insight: operator column stays clean — all emphasis lives inside the content slot. Scanability is preserved.
@ team: names · duration: N min // 01 · Decisions = decided: … // 02 · Actions . action item @ owner: name · due: date // 03 · Risks & Open ! blocker or risk ? open question
05 // You're Ready

Now go deeper.

You know the four operators. That's enough to start. Come back for the rest when content demands it.

📐
Specification

All 12 operators, indentation rules, inline formatting, directives, visual sections. v2.8.

→ spec.html
⚡
Super Demo

Every feature live — markers, nesting, block accents, addressing, full doc.

→ super-demo.html
🗂
Showcase

13 real-world CLN documents across tech, business, analysis.

→ showcase.html
🧠
Wiki

Cognitive science behind CLN — memory, pre-attentive processing, episodic encoding.

→ wiki/index.html
The key insight: choosing an operator forces you to decide what type of information this is. That act of deciding — not the notation itself — is where the cognitive value lives. CLN is intentional friction. It slows you down just enough to think.