Skip to content

GDaamn/Toney

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

showcase.mp4

✨ 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.
  • 🧩 Component Architecture – Modular codebase using Bubbletea’s Model system.
  • 🎨 TUI Styling – Clean, responsive interface using lipgloss.

🚀 Installation

You can install Toney directly using go install:

go install github.com/SourcewareLab/Toney@latest

This will download, build, and install the Toney binary into your $GOBIN (typically $HOME/go/bin).

Run this command to ensure Toney is setup perfectly.

  Toney init

🧪 Requirements

  • Go 1.16 or later
  • Git (to fetch the module)

Make sure your GOBIN is in your system's PATH:

export PATH=$PATH:$(go env GOBIN)

✅ Verify Installation

Once installed, you can run:

Toney

🔑 Keybinds

Key Combination Action
F / Shift + F Focus on File Tree
V / Shift + V Focus on File Viewer

📁 File Tree Focus Shortcuts

Once the File Tree is focused (F or Shift + F):

Key Action
c Create a file/folder
d Delete selected
r Rename selected
m Move selected
Enter Edit selected file

🗺 Roadmap

v2.0.0 Goals

  • Daily Tasks
  • Journals
  • Config File
    • Custom Styles
    • Custom Editor
    • Custom Notes Directory
    • Custom Keybinds
  • Search In Notes
  • Search for Notes
  • Keybind Helper (using Bubbles)

Short Term Goals

  • Overlay support
  • Viewer style improvements
  • Error popups
  • Separate package for messages
  • Keybind refactor
  • Config file support (~/.config/toney/config.yaml)
  • Custom markdown renderer
  • Custom components:
    • [ ] Task Lists
    • code blocks
    • Tables
  • File Import/Export
  • Configurable external editor support

Long Term Goals

  • Cross-platform mobile app
  • Server sync with configuration & cloud storage

🛠️ Project Structure

toney/
├── cmd/              # Entry point (main.go)
├── internal/
│   ├── models/       # All UI models (Home, Viewer, Popups, etc.)
│   ├── enums/        # Typed enums (pages, popup types)
│   ├── messages/     # Message types for tea.Msg (will be modularized)
│   └── utils/        # Shared utility functions

🤝 Contributing

We welcome contributions! Toney follows Go and Bubbletea conventions.

🧾 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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 100.0%