An open API service indexing awesome lists of open source software.

https://github.com/SourcewareLab/Toney

Toney is a fast, lightweight, terminal-based note-taking app for the modern developer.
https://github.com/SourcewareLab/Toney

bubbletea contributions-welcome go note note-taking open-source tui

Last synced: 8 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Toney

**Toney** is a fast, lightweight, terminal-based note-taking app for the modern developer. Built with [Bubbletea](https://github.com/charmbracelet/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](https://sourcewarelab.github.io/Toney/). 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`](https://github.com/charmbracelet/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](https://sourcewarelab.github.io/Toney/guide/install). 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](https://sourcewarelab.github.io/Toney/config/keybinds/). 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](https://sourcewarelab.github.io/Toney/guide/contribute).

### ๐Ÿงพ 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:
```bash
git checkout -b feature/my-feature
```

2. Write your code and make sure it builds:
```bash
go build ./...
```

3. Format your code:
```bash
go fmt ./...
```

4. Commit and push:
```bash
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](./LICENSE).

---

## ๐Ÿ’ก Inspiration

Toney is inspired by:
- [Glow](https://github.com/charmbracelet/glow) โ€“ for markdown rendering
- [Lazygit](https://github.com/jesseduffield/lazygit) โ€“ for terminal UI polish
- [Charm ecosystem](https://github.com/charmbracelet) โ€“ for all things delightful in the terminal

---

> Made with ๐Ÿ’€ by [Nucleo](https://github.com/NucleoFusion) & [SourcewareLab](https://discord.gg/X69MUr2DKm)