Home
Softono
Toney

Toney

Open source MIT Go
193
Stars
12
Forks
3
Issues
3
Watchers
3 weeks
Last Commit

About Toney

Toney is a fast, lightweight, terminal-based note-taking app for the modern developer.

Platforms

Web Self-hosted

Languages

Go

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 Tasks section.
  • πŸ““ Diary Entries - Organize and manage your thoughts with the Diary section.
  • βš™οΈ Extensive Config - Configurate the app to look and work exactly as you want.
  • 🎨 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, and View separation for all models.
  • Keep component responsibilities well-isolated.
  • All exported functions/types should be documented with Go-style comments.
  • Prefer tea.Msg messages over direct cross-component function calls.

βœ… How to contribute

  1. Fork the repo and create a feature branch:

    git checkout -b feature/my-feature
  2. Write your code and make sure it builds:

    go build ./...
  3. Format your code:

    go fmt ./...
  4. Commit and push:

    git commit -m "feat: add my awesome feature"
    git push origin feature/my-feature
  5. 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