AtlatestRepositorytally
1
;;; tally - Personal finance management CLI and MCP server2
;;;3
;;; Pulls transactions from financial APIs (Wise), categorizes them,4
;;; writes to hledger journal files, and generates financial summaries.5
;;; Usable as a CLI and as an MCP server for AI-assisted bookkeeping.7
(package8
name: "tally"9
version: "0.2.6"10
description: "Personal finance management CLI and MCP server"11
url: "https://codeberg.org/sigil/tally"12
license: "BSD-3-Clause"13
sigil: "0.20"14
authors: (list "David Wilson <[email protected]>")16
entry: '(tally main)17
bundle-name: "tally"19
configs: (list20
(config21
name: 'dev22
output-dir: "build/dev"23
debug?: #t24
optimize: 025
bundle?: #t)26
(config27
name: 'release28
output-dir: "build/release"29
backend: 'native30
debug?: #f31
optimize: 232
bundle?: #t))34
provides: (list35
mcp-server: #{ name: "tally"36
args: #["serve"]37
secret-env: #{ WISE_API_TOKEN: #t } })39
dependencies: (list40
;; Explicit sigil-lib pin. Two independent reasons, both measured:41
;; 1. Without it, sigil-lib is derived transitively and does not track42
;; the `sigil:` field, so a relock can silently leave the C runtime43
;; behind while `sigil deps install` exits 0.44
;; 2. sigil-lib's resolution does NOT respect its declared range: with45
;; no explicit pin, a fresh resolve records `ref: "^0.17"` alongside46
;; `version: "0.18.2"` in the same lock entry, on any toolchain,47
;; while sigil-stdlib in that same resolve correctly stays at 0.17.20.48
;; Verify in sigil.lock (the `version:`/`sha:` fields, not `ref:`).49
(from-git url: "codeberg:sigil/sigil"50
package: "sigil-lib" version: ">=0.21")51
(from-git url: "codeberg:sigil/sigil" package: "sigil-run" version: ">=0.21")52
(from-git url: "codeberg:sigil/sigil-json" version: "^0.16")53
(from-git url: "codeberg:sigil/sigil-log" version: "^0.16")54
;; sigil-mcp ^0.17, NOT ^0.16. The 0.16 line now contains BOTH a release55
;; requiring the 0.18 runtime (v0.16.5) and one requiring 0.17 (v0.16.6, a56
;; deliberate compatibility revert), so ^0.16 no longer determines which57
;; runtime you need. The 0.17 line is the unambiguous 0.18-runtime line.58
(from-git url: "codeberg:sigil/sigil-mcp" version: "^0.17")59
;; Keep MCP's HTTP transport on the post-cutover line so a fresh relock60
;; cannot resurrect the archived standalone sigil-socket provider.61
(from-git url: "codeberg:sigil/sigil-http" version: "^0.18")62
(from-git url: "codeberg:sigil/sigil" package: "sigil-args" version: ">=0.21")63
(from-git url: "codeberg:sigil/sigil-wise" version: "^0.10")64
(from-git url: "codeberg:sigil/sigil-ledger" version: "^0.10"))66
dev-dependencies: (list67
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: ">=0.21")68
(from-git url: "codeberg:sigil/sigil"69
package: "sigil-test-runner" version: ">=0.21"))71
tasks: (list72
(task73
name: 'build74
description: "Compile tally modules"75
steps: (list76
(compile-sigil-modules sources: "src/**/*.sgl"77
output-dir: (config-output-subdir "lib"))))))