Toney
Toney is a fast, lightweight, terminal-based note-taking app for the modern developer. Built with Bubbletea, Toney brings a sleek TUI interface with markdown rendering, file navigation, and native Neovim editing β all in your terminal.
Refer to the docs here. To view all the details!
https://github.com/user-attachments/assets/71d4555f-8ea1-4a5c-b1df-c67acbd9248a
β¨ Features
- β‘ Fast β Minimal memory usage and snappy performance.
- π Markdown Renderer β Styled previews via
glamour. - π§ Neovim Integration β Edit your notes using your favorite editor (
nvim). - π File Management β Easily navigate, open, and manage markdown files.
- β
Daily Tasks β Keep a record of your daily tasks in the
Daily Taskssection. - π Diary Entries - Organize and manage your thoughts with the
Diarysection. - βοΈ Extensive Config - Configurate the app to look and work exactly as
youwant. - π¨ TUI Styling β Clean, responsive interface using
lipgloss.
π Installation
Refer to the docs here. To view all the installation options!
Run this command to ensure Toney is setup perfectly.
toney init
β Verify Installation
Once installed, you can run:
toney init
π Keybinds
Refer to the docs here. To view all the Default Keybinds!
Keybinds are also visible in the app itself thanks to the bubbles component library.
πΊ Roadmap
v2.0.0 Goals
- [ ] Overlay Error Popups
- [ ] File Import/Export
- [ ] Fuzzy Finder in notes
- [ ] Recurring and Unique Daily tasks
- [ ] Nvim TODO Integration
- [ ] Github Issues Integration
- [ ] Bug solve
Long Term Goals
- [ ] Cross-platform mobile app
- [ ] Server sync with configuration & cloud storage
π οΈ Project Structure
βββ cmd // CLI
βββ internal
βββ colors // Styles Config
βββ config // Config
βββ enums // All enums
βββ fileTree // Filtree - manages tree creation for directory
βββ keymap // Keymap
βββ messages // Messages - has all bubbletea message declarations
βββ models // Models - Has all bubbletea models
βββ styles // Styles - has all lipgloss styles declarations
π€ Contributing
We welcome contributions! Toney follows Go and Bubbletea conventions. You can also view more details here.
π§Ύ Guidelines
- Follow idiomatic Go formatting (
go fmt,go vet,golint). - Use
Init,Update, andViewseparation for all models. - Keep component responsibilities well-isolated.
- All exported functions/types should be documented with Go-style comments.
- Prefer
tea.Msgmessages over direct cross-component function calls.
β How to contribute
-
Fork the repo and create a feature branch:
git checkout -b feature/my-feature -
Write your code and make sure it builds:
go build ./... -
Format your code:
go fmt ./... -
Commit and push:
git commit -m "feat: add my awesome feature" git push origin feature/my-feature -
Submit a Pull Request π
Please open an issue or discussion for large changes before starting them.
π License
MIT License. See LICENSE.
π‘ Inspiration
Toney is inspired by:
- Glow β for markdown rendering
- Lazygit β for terminal UI polish
- Charm ecosystem β for all things delightful in the terminal
Made with π by Nucleo & SourcewareLab