@tantanok221/agentbudget
v1.0.1
Published
Personal budgeting CLI (envelopes, transactions, schedules) backed by SQLite/libsql.
Downloads
24
Maintainers
Readme
agentbudget
Agent-first, YNAB-like zero-based envelope budgeting CLI.
- TypeScript + Node CLI
- Turso/libSQL backend + Drizzle ORM migrations
- Agent-first output: most commands support
--jsonand return{ ok, data }/{ ok, error }
Install
Prereqs
- Node.js 20+
- npm
Option A: Install from npm (recommended)
npm i -g @tantanok221/agentbudget
agentbudget --helpOption B: Run without installing (one-off)
npx @tantanok221/agentbudget --helpOption C: Install via clone (development)
git clone https://github.com/Tantanok221/agentbudget.git
cd agentbudget
npm install
npm run build
# run from the repo
node dist/cli.js --help
# or dev runner
npm run dev -- --helpOptional: link globally during development:
npm link
agentbudget --helpInstall skills
npx skills add Tantanok221/agentbudgetInitialize a database
agentbudget can use either:
- local SQLite/libSQL file DB (
file:/...) - Turso remote DB (
libsql://...)
Local (recommended to start)
agentbudget init --local
agentbudget system initTurso (remote)
export TURSO_DATABASE_URL="libsql://..."
export TURSO_AUTH_TOKEN="..."
agentbudget init --remote
agentbudget system initConfig is written to:
~/.config/agentbudget/config.json
You can override per-command:
agentbudget --db "file:/absolute/path.db" overview --month 2026-02Quickstart
Create accounts/envelopes:
agentbudget account create "Bank" --type checking --json
agentbudget envelope create "Food" --group "Living" --jsonAdd a transaction (major-unit inputs, stored as minor units internally):
agentbudget tx add \
--account "Bank" \
--amount -23.50 \
--date 2026-02-08 \
--payee "Grab" \
--envelope "Food" \
--jsonSee an overview:
agentbudget overview --month 2026-02
agentbudget overview --month 2026-02 --jsonDevelopment notes
Migrations
Migrations live in src/db/migrations.
Tests
npm testEnvironment variables
TURSO_DATABASE_URL(e.g.libsql://...orfile:./data/local.db)TURSO_AUTH_TOKEN(if using Turso)
Testing helpers
AGENTBUDGET_TODAY=YYYY-MM-DDoverrides "today" for schedule/overview tests.
