From 6701688bd0b84a6914c407e14c5e06e4ca531158 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sat, 21 Jan 2023 09:50:32 -1000 Subject: [PATCH] ;doc: start tracking DECISIONS --- doc/DECISIONS.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 doc/DECISIONS.md diff --git a/doc/DECISIONS.md b/doc/DECISIONS.md new file mode 100644 index 000000000..84c0243be --- /dev/null +++ b/doc/DECISIONS.md @@ -0,0 +1,27 @@ +# Decisions + +A partial list of notable development decisions. + +## 2022 + +### Replace "transaction price" terminology with "cost" + +"Transaction price" never quite stuck. "Cost" is simpler, shorter, more intuitive, consistent with `--cost` and "cost reporting", and more distinct from "market price". + +There is an (acceptable) ambiguity: "cost" could mean the `@ UNITCOST` price attached to the amount, or the total cost when the amount is converted (`QUANTITY * UNITCOST`). + +Status: as of 2023Q1 this has been done in the manuals and is slowly ongoing in the code. + +## 2023 + +### Plugin types + +We will document and support where feasible several distinct kinds of plugin, written in haskell or other languages: + +| Plugin type | Description | Current status | +|-|-|-| +| reader | Parse/ingest new data formats/sources to hledger journal data. | Can be done by generating journal or csv format. +| writer | Render/export hledger journal data to new data formats/destinations. | Can be done (lossily) by transforming print's txt/csv/json/sql output. +| processor | Process hledger journal data after parsing, before reporting. | Not well supported, somewhat possible in a haskell script. +| formatter | Render a hledger report's output to a new output format. | Can be done by transforming report's builtin txt/csv/json/html output. +| command | Provide new `hledger` subcommands implementing new reports or actions. | Can be done with addon scripts/programs in PATH.