aboutsummaryrefslogtreecommitdiffstats
path: root/SKILL.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-30 17:55:30 +0200
committerDanilo M. <danix@danix.xyz>2026-06-30 17:55:30 +0200
commit38d7357f36e6eeb91216d1c5668fb29406c7e076 (patch)
treec9215bfd05ae08198e5dd02b8f4e7c9762dcbc77 /SKILL.md
parent39d9c808c4f599d0708eccdaf883147e6cd1e9b9 (diff)
downloadfirefly-cli-38d7357f36e6eeb91216d1c5668fb29406c7e076.tar.gz
firefly-cli-38d7357f36e6eeb91216d1c5668fb29406c7e076.zip
feat: add tx edit and tx delete (v0.3.0)HEADv0.3.0master
Implements ISSUES.md #1, the missing other half of an import tool: correcting and removing mis-imported transactions without the web UI. - tx edit <id>: 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 <id>: requires --yes (no interactive prompt, agent-first); prints {"deleted": "<id>"} 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 <noreply@anthropic.com>
Diffstat (limited to 'SKILL.md')
-rw-r--r--SKILL.md15
1 files changed, 15 insertions, 0 deletions
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 <name> --type asset|expense|revenue
[--opening-balance N] [--currency CODE]
firefly tx add <amount> --from <acct> --to <acct>
[--desc TEXT] [--date YYYY-MM-DD] [--category NAME] [--tags a,b] [--type T]
+firefly tx edit <id>
+ [--amount N] [--date YYYY-MM-DD] [--desc TEXT] [--from <acct>] [--to <acct>]
+ [--category NAME] [--tags a,b] [--type T] # only fields passed are changed
+firefly tx delete <id> --yes # --yes required, no prompt
firefly tx list [--since YYYY-MM-DD] [--until YYYY-MM-DD] [--account NAME] [--limit N]
firefly tx get <id>
firefly tx search <query>
@@ -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": "<id>"}`.
## Extending