A simple TUI app for task, timer and invoicing for projects.
- Project Management - Organize tasks by projects with color coding
- Task Tracking - Create, edit, and manage tasks with priorities and statuses
- Time Tracking - Start/stop timers with descriptions and hourly rates
- Timesheets - View uninvoiced time entries grouped by project
- Stripe Invoicing - Create draft invoices directly from time entries
- Invoice Management - View and manage all your Stripe invoices
- Dashboard - Overview of projects, tasks, and time stats
- Offline-first - All data stored locally in SQLite
- Vim-style Navigation - Keyboard-driven interface
npm install -g pacatui
pacabun install -g pacatui
pacagit clone https://github.com/wes/paca.git
cd paca
bun install
bun run startSimply run:
pacaOn first run, Paca will automatically create its database at ~/.paca/paca.db.
| Key | Action |
|---|---|
1 |
Dashboard |
2 |
Tasks |
3 |
Timesheets |
4 |
Invoices |
5 |
Settings |
? |
Help |
t |
Start timer |
s |
Stop timer (when running) |
q |
Quit |
| Key | Action |
|---|---|
j / ↓ |
Move down |
k / ↑ |
Move up |
Tab |
Switch panels |
Enter |
Select/Confirm |
Esc |
Cancel/Go back |
| Key | Action |
|---|---|
n |
Create new |
e |
Edit |
d |
Delete |
Space |
Toggle task status |
p |
Cycle priority |
a |
Archive/Unarchive project |
A |
Toggle show archived |
c |
Link customer to project |
| Key | Action |
|---|---|
Space |
Select entry for invoicing |
e |
Edit time entry |
d |
Delete time entry |
i |
Create invoice from selected |
| Key | Action |
|---|---|
Enter |
Open invoice in browser |
r |
Refresh list |
] |
Next page |
[ |
Previous page |
Access settings by pressing 5:
- Business Name - Your business name for invoices
- Stripe API Key - Enable invoicing features
- Timezone - Set display timezone (or auto-detect)
- Export/Import - Backup and restore your data
- Database:
~/.paca/paca.db - Backups:
~/.paca/backups/
To enable invoicing:
- Get your Stripe API key from dashboard.stripe.com/apikeys
- Press
5to go to Settings - Add your Stripe Secret Key
- Link customers to projects using
cin the Projects view - Create invoices from the Timesheets view
- Runtime: Bun
- TUI Framework: @opentui/react
- Database: SQLite via libsql
- ORM: Prisma 7
- Payments: Stripe API
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
MIT - see LICENSE for details.
