Releases: StevenACZ/lucas-cli
Releases · StevenACZ/lucas-cli
v0.6.6
Changed
- Removed the retired
lucas ai chat-messagecommand to match the current backend API surface. - Kept LucasApp CLI AI focused on
usage,parse-expenses,parse-expenses-image, andinsights. - Updated README and changelog for the supported AI command set.
Verified
- format, typecheck, lint, tests, build, and npm pack dry-run passed locally.
- Production CLI smoke tests passed against
https://lucas.stevenacz.com.
v0.6.5
Summary
- Align list commands with current backend filters and pagination shapes.
- Include archived accounts explicitly in account list output while preserving active totals.
- Add client-side converted amounts for exchange-rate conversions.
Verification
- format:check, typecheck, lint, test, build.
- npm pack dry-run publishes only LICENSE, README.md, dist/index.js, and package.json.
- Production read-only smoke covered auth, accounts, debt detail, transactions, transfers, subscriptions, loans, stats, categories, exchange-rate, and usage endpoints.
v0.6.1
Summary
- Harden CLI device authorization by separating the visible approval code from the secret polling code.
- Add stricter local image input validation, safer resource path handling, redacted backend errors, and private credential storage.
- Move npm publishing to Trusted Publishing/OIDC with provenance.
Verification
- bun run format:check
- bun run typecheck
- bun run lint
- bun run test
- bun run build
- npm pack --dry-run --json --ignore-scripts
v0.6.0
Added
lucas ai usage— reads current AI usage and preservesusagePeriodswhen the backend returns daily, weekly, and monthly windows.lucas ai parse-expenses <text...>— sends text expense parsing requests toPOST /api/ai/parse-expenses.lucas ai parse-expenses-image <paths...>— sends up to 10 receipt images toPOST /api/ai/parse-expenses-image.lucas ai insights <query...>— sends financial insight prompts toPOST /api/ai/insights.lucas ai chat-message <message...>— sends messages to Lucas Chat viaPOST /api/lucas-chat/message.
Changed
- Public plan contract is now
FREEandPREMIUMonly. - Premium copy reflects unlimited accounts, unlimited subscriptions, and AI limits of 50/day, 300/week, and 1000/month.
- Free copy reflects 0 AI calls, up to 3 active accounts, and blocked subscriptions.
- Backend limit errors now map to CLI-friendly messages for AI, subscription, and account limits.
- Dev dependency overrides were refreshed so the public repository audit is clean.
For AI agents
Typical AI flow:
lucas ai usage
lucas ai parse-expenses "coffee 4.50 today"
lucas ai parse-expenses-image ./receipt.jpg
lucas ai insights "summarize my spending this month" --period month
lucas ai chat-message "what changed in my finances this week?"This release expects the LucasApp backend deployed with the FREE/PREMIUM AI contract.
v0.5.0
Added
lucas accounts debt-detail <id>— credit-card debt breakdown per billing cycle (pass-through overGET /api/accounts/:id/credit-debt-breakdown). Flags:--mode,--anchor-date,--start-date,--end-date,--search,--only-pending,--limit,--offset. Default--mode=current_cycle --limit=100for AI-friendly single-page responses.lucas accounts create --statement-closing-day <n>— parity withaccounts update. Backend now returnscreationWarningon the created account when CREDIT is created without this flag (requires backend on 2026-04-20+).lucas accounts listnow returnsavailableCredit(max(0, creditLimit - currentDebt)) for CREDIT accounts with a non-nullcreditLimit. Field is omitted for all other account types.
For AI agents
Typical flow:
lucas accounts list
# pick a CREDIT id, then:
lucas accounts debt-detail <id>
# -> {"ok":true,"data":{"summary":{"currentDebt":..., "charges":..., "payments":..., "outsideRangeDebt":...}, "items":[...]}}summary.currentDebt == summary.composedDebt + summary.outsideRangeDebt (±0.01) is the invariant to trust. outsideRangeDebt > 0 indicates carry-over from prior cycles.
v0.4.0
What's New
loans unmark-paid command
- Reverse loan payments that were incorrectly applied
lucas loans unmark-paid <loan-id>— reverses the most recent paymentlucas loans unmark-paid <loan-id> --payment-id <id>— reverses a specific payment- Restores installment status, account balance, and deletes linked transactions
v0.3.1
Highlights
- notify interactive users when a newer lucas CLI version is available
- fix transaction list date and pagination filters to use canonical API query names
- add
--yearand--monthtostats summaryandstats by-category - keep compatibility with older installed CLIs via backend aliases for
from/to/skip/take
v0.3.0
Highlights
- fix loans pay to send canonical
payAmountwhile keeping--amountUX - add
loans mark-paidwith optional post-write verification - add strict numeric validation to avoid silent
NaNpayloads - replace misleading
--no-*string/number flags with real--clear-*flags - enrich
subscriptions listwith derived billing and charge context for AI agents
v0.2.0
What's New
New Commands
lucas transfers update— update transfer amount, description, date, notes, exchange ratelucas loans update— update loan name, account, schedule, interest, late fees
New Utility
- Shared
--no-<field>unset support across all update commands (e.g.,--no-account-idto remove linked account)
Updated Commands
- subscriptions create — add
--currency,--billing-day,--billing-month,--icon,--color,--category-id,--type,--auto-record,--start-date;--account-idnow optional; frequency fixed toMONTHLY|YEARLY - subscriptions update — add all missing fields plus
--no-account-id,--no-category-idunset flags - transactions update — add
--type(INCOME|EXPENSE),--date, plus--no-category-id/--no-merchant/--no-notes - transfers create — add
--to-amount,--date,--notes - loans create — overhaul with
--currency(required),--first-due-date,--interval-unit,--interval-count, interest config, late fee config - accounts update — add
--balance,--credit-limit,--current-debt,--excluded,--is-archived,--statement-closing-day,--display-order - stats summary/monthly/by-category — add
--currencyfilter
Unset Pattern
Use --no-<field> to clear optional fields:
lucas subscriptions update <id> --no-account-id # Remove linked account
lucas transactions update <id> --no-category-id # Clear category
lucas accounts update <id> --no-credit-limit # Remove credit limitv0.1.0 — Initial Release
💰 LucasApp CLI v0.1.0
First public release! Manage your LucasApp finances from the terminal, designed for AI agents.
Features
- 🔐 Device authorization flow — authenticate via browser, like
gh auth login - 📊 Full CRUD — accounts, transactions, transfers, subscriptions, loans
- 📈 Statistics — summary, monthly, by-category
- 🤖 JSON-only output — designed for Claude Code, Gemini CLI, and any AI with terminal access
- 🔒 Secure — tokens hashed server-side, credentials stored with
chmod 600
Install
npm install -g lucasapp-cliQuick Start
lucas auth login
lucas accounts list
lucas transactions list --from 2026-03-01
lucas stats summaryLinks
- 📖 Documentation: https://lucas.stevenacz.com/cli
- 📦 npm: https://www.npmjs.com/package/lucasapp-cli