From 38d7357f36e6eeb91216d1c5668fb29406c7e076 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 30 Jun 2026 17:55:30 +0200 Subject: feat: add tx edit and tx delete (v0.3.0) Implements ISSUES.md #1, the missing other half of an import tool: correcting and removing mis-imported transactions without the web UI. - tx edit : PATCH a single-split journal; only the fields passed are sent (--amount/--date/--desc/--from/--to/--category/--tags/--type). Errors if no field is given. Accounts resolve to ids; category/tags pass raw. - tx delete : requires --yes (no interactive prompt, agent-first); prints {"deleted": ""} on success. Also fix gen_completion.py: running it as a script put scripts/ on sys.path[0] and imported the installed (stale) firefly_cli, so the generated completion drifted (missing account balance/get, tx get/search). Prepend the repo root so the documented regen command uses this tree. The regenerated completion now reflects the full command surface. MINOR bump per the contract-keyed scheme: new commands, no breaking change. Co-Authored-By: Claude Opus 4.8 --- SKILL.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'SKILL.md') diff --git a/SKILL.md b/SKILL.md index 7956bdd..b90ad2e 100644 --- a/SKILL.md +++ b/SKILL.md @@ -57,6 +57,10 @@ firefly account create --type asset|expense|revenue [--opening-balance N] [--currency CODE] firefly tx add --from --to [--desc TEXT] [--date YYYY-MM-DD] [--category NAME] [--tags a,b] [--type T] +firefly tx edit + [--amount N] [--date YYYY-MM-DD] [--desc TEXT] [--from ] [--to ] + [--category NAME] [--tags a,b] [--type T] # only fields passed are changed +firefly tx delete --yes # --yes required, no prompt firefly tx list [--since YYYY-MM-DD] [--until YYYY-MM-DD] [--account NAME] [--limit N] firefly tx get firefly tx search @@ -116,6 +120,14 @@ Returns a transaction group: `{"id", ..., "transactions": [ {split}, ... ]}`. The real fields (type, amount, description, source/destination, tags) are in `transactions[0]` for a single-split transaction. +**Fix a mis-imported transaction.** `tx edit` patches only the fields you pass; +everything else is left untouched. To flip a reversed transfer, swap the ends: +```bash +firefly tx edit 75 --from BBVA --to Mediolanum +firefly tx edit 75 --amount 50.00 --date 2026-06-15 +firefly tx delete 76 --yes # remove a duplicate +``` + ## Gotchas - `tx list` with no transactions in range returns `[]`. Empty is not an error; @@ -126,6 +138,9 @@ The real fields (type, amount, description, source/destination, tags) are in default period, which may hide older transactions. Pass an explicit `--since` to be sure. - `--tags` is a single comma-separated argument: `--tags food,fun`. +- `tx edit` handles single-split journals only. `tx delete` will not run + without `--yes` (there is no interactive prompt); on success it prints + `{"deleted": ""}`. ## Extending -- cgit v1.2.3