Notes that speak code
A native Mac notes app for the code you write, paste, and keep around
Make your first move on a Mac!
my first API call: Dunder Mifflin Infinity 2.0
Apparently, this is how you call the AI, and these are some of the main params you pass to it
- •temperature controls how “creative” the response gets (0 is deterministic, 1 is wild)
- •max_tokens caps the response length (1024 ≈ 750 words)
- •system message tells the AI how to behave (e.g., “be concise”)
1 import anthropic23 client = anthropic.Anthropic()45 response = client.messages.create(6 model="claude-sonnet-4-6",7 max_tokens=1024,8 temperature=0.7,9 system="You are a thought leader.",10 messages=[{11 "role": "user",12 "content": "Build Dunder Mifflin Infinity 2.0. No Mistakes."13 }]14 )15 print(response.content[0].text)
my first API call: Dunder Mifflin Infinity 2.0
Apparently, this is how you call the AI, and these are some of the main params you pass to it
response = client.messages.create( system="You are a thought leader.", messages=[{ "content": "Build Dunder Mifflin Infinity 2.0. No Mistakes." }] )
Features
FreeUnlimited notes, forever
Code Blocks
Syntax highlighting for 35 languages, with automatic language detection on paste. Reuse values with dynamic variables.
Markdown + more
Write with headings, lists, to-dos, tables, quotes, highlights, images and wiki links. Paste as Markdown with ⌥⌘V, drag files into Rook to import, and export as .md files.
Themes & Toolbar
Create a calmer space to think. Choose from five themes and hide the toolbar controls you don’t use.
Organise Notes
Save notes at the root of a collection, or organise them into notebooks and nested notebooks. Select a note and press Space to preview it.
Local & Private
Fully private notes. Stored locally. No account required.
Rook MCP
Keep useful answers and code from your AI conversations. Save directly to Rook, with a separate inbox for each AI tool.
Themes
Five built-in themes, each with its own syntax highlighting
Binary Search
A divide-and-conquer algorithm for sorted arrays. Runs in O(log n) time.
def binary_search(arr, target): lo, hi = 0, len(arr) - 1 while lo <= hi: mid = lo + (hi - lo) // 2 if arr[mid] == target: return mid elif arr[mid] < target: lo = mid + 1 else: hi = mid - 1 return -1
Shortcuts
All the usual suspects, plus a few more
Join the Rook Discord
Ask questions, share feedback, and become a Rook beta tester