puffin
puffin copied to clipboard
TUI for hledger to manage personal finances 💰
Puffin
Terminal dashboard to manage personal finances. Built with hledger and bubbletea.

Features
- View balance
- assets
- expenses
- revenue
- liabilities
- View reports
- income statement
- balance sheet
- View transactions
- Filter by
- account name
- start/end date
- View by period (monthly, yearly)
- Zoom in/out of accounts (change account depth)
Installation
Pre-requisites
- hledger is required for puffin to work.
- make
- Go compiler (>=1.17)
Build
- Clone this repo
- Run the command
make build
. This creates the binarypuffin
.
Run demo
- Clone this repo
- Run
make start
Run with your own journal file
- Build using
make build
- Run using
./puffin
. It automatically uses the$LEDGER_FILE
environment variable
Custom path for the journal file
There are 2 ways to use a custom path for the journal file.
- Run with env var:
LEDGER_FILE=<custom_path> ./puffin
- Run with args:
./puffin -file <custom_path>
Change hledger executable path
Run with ./puffin -exe <path_to_hledger>
Keys
Key | Feature |
---|---|
? | toggle help (to remove) |
q | quit app |
r | refresh data |
f | activate filters |
esc | de-activate filter |
j/k/up/down | navigate reports |
up/down | navigate filters (when active) |
J/K/PgUp/PgDown | scroll inside a report |
m/u/y | monthly/quarterly/yearly report |