|
██████╗ ██╗ ██╗███╗ ██╗███████╗ ██╔══██╗██║ ██║████╗ ██║██╔════╝ ██████╔╝██║ ██║██╔██╗ ██║█████╗ ██╔══██╗██║ ██║██║╚██╗██║██╔══╝ ██║ ██║╚██████╔╝██║ ╚████║███████╗ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝ |
Rune is a terminal-first note-making app built with Go.
Pick a topic, chat through it, and generate structured markdown notes that are written to disk and previewed live inside a dual-panel tabbed TUI.
Rune is designed for people who want to learn, research, and write notes without leaving the terminal.
It helps you:
- start from a topic instead of a blank file
- guide a session as either learning or research
- generate markdown notes directly into your notes folder
- preview files live while they are being created
- resume older topic sessions later
- Dual-panel tabbed TUI for chat and live notes preview
- Topic classification into
skillorresearchworkflows - Pre-session guidance before the main session starts
- Markdown file generation with live filesystem watching
- Persistent session history per topic
- Local/cloud Ollama model selection with fallback support
- In-app log viewer, file explorer, and settings screen
Rune starts from a topic, classifies the session, and guides the user through a more structured path instead of dropping them into an empty workspace.
Generated markdown files are written directly to disk and rendered live in the preview pane, so users can see their notes take shape immediately.
Each topic keeps its own local session state, making it easy to come back later and continue work without starting over.
Rune is built for users who prefer learning, researching, and writing without leaving the terminal.
- Start Rune
- Enter a topic such as
Java,system design, orlinear algebra - Rune classifies the topic and begins a guided session
- Notes are generated as markdown files
- Notes preview updates live on the second panel (switch to it with Tab)
- You can reopen the same topic later and continue where you left off
Watch Rune in action to see how it structures your learning sessions directly inside the terminal.
A complete walkthrough showing topic classification, live notes generation, and TUI pane switching.
full_tutorial.mp4
Demonstrating how Rune routes prompts and switches models/providers seamlessly.
Demonstrating how topic session history and previous chats are reloaded on startup.
Demonstrating how to attach files and documents (PDFs, markdown, CSVs, etc.) as context for topic sessions.
To complete the demo section, the following feature recordings are still needed:
- Topic Classification: Showing how a user enters a topic (e.g., Go, linear algebra) and Rune classifies it as a learning or research session.
- Live Notes Preview: Zooming in on the live document rendering as files are created and updated live.
- File Explorer & Settings: Demonstrating
Ctrl+Eto toggle the file tree andCtrl+Tto adjust preferences.
- Go
1.25.3 - Ollama running locally or reachable through
OLLAMA_URL
Default Ollama endpoint:
http://localhost:11434Optional environment variables:
OLLAMA_URL
OLLAMA_MODEL
OLLAMA_CLOUD_MODEL
OLLAMA_API_KEY
OLLAMA_NO_CLOUD=1Run the installation script to build and install Rune globally:
git clone https://github.com/bogusdeck/Rune
cd Rune
./install.shClone the repository and build from source:
git clone https://github.com/bogusdeck/Rune
cd Rune
go build -o rune .To run it locally:
./runeIf you used the Automatic installation, you can launch Rune from any directory:
runeIf you chose the Manual path and kept the binary in the project folder, run:
./runeEntersend chat inputTabswitch active paneCtrl+Etoggle the file explorerCtrl+Lopen the in-app log viewerCtrl+Oreturn to topic selectionCtrl+Rrewind one user turnCtrl+Topen settingsCtrl+Cquit
.
├── internal/
│ ├── core/ # private helper logic: prompts, parser, config, sessions
│ └── tui/ # TUI logic: model, views, updates, watcher, client, classifier
├── main.go # app entrypoint
└── README.md
Rune stores topic sessions and generated notes under your local notes directory in your home folder.
That includes:
- generated markdown files
- per-topic session state
- local Rune configuration
- log output
Useful local commands:
go test ./...
go build ./...
gofmt -w .Before pushing this project to GitHub, keep the repository source-only:
- do not commit compiled binaries like
rune - do not commit local machine files like
.DS_Store - keep setup instructions in the README so users can build locally
Add a LICENSE file before publishing if you want others to use, modify, or distribute the project clearly.



