Toney

command module
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2025 License: MIT Imports: 1 Imported by: 0

README ΒΆ

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.

https://github.com/user-attachments/assets/bf2411e0-2a7e-4669-a12a-6ee1bb63b75b


✨ 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

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

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL