| Age | Commit message (Collapse) | Author | Files | Lines |
|
New `piggy` group:
- `piggy list` lists piggy banks with saved/target amounts and linked
accounts.
- `piggy add|remove <name|id> <amount> [--account NAME]` changes the
saved amount on a linked account via PUT /piggy-banks/{id}.
Firefly syncs the whole account list on that PUT, so every linked account
is resent (others without current_amount, which keeps their value) or it
would be unlinked. Removing below zero is rejected before any write, and
the saved amount is read back so a refused add fails loudly instead of
returning 200 unchanged.
add/remove currently hit an upstream bug on Firefly III <= 6.7.9:
PiggyBankFactory::linkToAccountIds passes the pivot current_amount (an int
from the DB) to bcsub() uncast, so any PUT with "accounts" 500s
(firefly-iii/firefly-iii#13063). Documented in SKILL.md/README; the live
integration test skips on that error and runs once upstream is fixed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Add two deferred budget follow-ups:
- tx edit --budget: re-assign a budget on an existing transaction,
mirroring the existing tx add --budget flag (name/id resolved, hard
error on miss). Resolves the ISSUES.md backfill wish.
- budget update: rename a budget and/or edit its auto-budget fields via
PUT /budgets/{id}; only fields passed are sent, empty is a hard error.
New command adds to the CLI surface without breaking callers, so this is
a MINOR bump (0.4.1 -> 0.5.0). Docs (README, SKILL.md), completion, and
TODO synced. The tx add --budget-id item stays open (still YAGNI).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
update, --budget-id)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
The CLI dispatcher (cli.py _build_parser) and completion generator both
partition the command name on the first space, nesting only two levels
(group + leaf). A three-token 'budget limit set' registers but is
unreachable via the CLI (invalid choice: 'limit'); the mocked unit suite
missed this because it calls handlers directly, bypassing dispatch.
Flatten to 'budget limit-list' / 'budget limit-set' (hyphenated 2-token
leaf), matching every other command. Logged the n-level dispatcher
refactor in TODO.md for when a future group needs real sub-subcommands.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Tab-completing --type now offers the valid values instead of nothing:
account list -> asset/expense/revenue/liability, account create ->
asset/expense/revenue, tx add/edit -> withdrawal/deposit/transfer. Keyed per
command off a static FLAG_VALUES map in gen_completion.py (types are a fixed
Firefly enum, so no API call in the completion). Partial input filters and
unrelated flags still complete normally.
Completion-only: no CLI/JSON/exit change, ships under v0.3.4.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
|
|
Add unit tests for each output view (account, tag, account balance,
category): right columns surfaced, API plumbing dropped. Add TODO.md
listing the deferred command groups and follow-up work.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|