Project Hierarchy

Dependency map of drummonds Go projects from GoBank down to the base libraries.

Dependency Graph

graph TD
    GB["gobank
Model bank simulation"] GL["go-luca
Double-entry accounting"] GLP["go-luca-pnl
P&L reports"] GP["go-postgres
DB abstraction (pglike)"] GTS["gotreesitter
Pure-Go tree-sitter"] PTA["plain-text-accounting-formats
PTA format definitions"] TSA["tree-sitter2abnf
Grammar to ABNF converter"] TSG["tree-sitter-goluca
Tree-sitter grammar for go-luca"] LFG["lofigui
HTML/CSS UI framework"] TP["task-plus
Release workflow"] MF["mock-fps
Mock FPS API server"] GB -->|v0.2.9| GL GB --> GP GB -->|v0.17.5| LFG GL -->|v0.3.1| GP GL -->|v0.6.1| GTS GLP --> GL PTA -->|v0.5.4| GTS TSA -.->|generates| TSG TSG -.->|grammar used by| GTS TP --> LFG TP -.->|manages releases for| GB TP -.->|manages releases for| GL GB -.->|demo uses| MF classDef app fill:#e3f2fd,stroke:#2196f3 classDef lib fill:#e8f5e9,stroke:#4caf50 classDef base fill:#fff3e0,stroke:#ff9800 classDef tool fill:#fce4ec,stroke:#e91e63 class GB app class GL,GLP,PTA lib class GP,GTS,LFG base class TSA,TSG,TP,MF tool

Application   Libraries   Base (no internal deps)   Tooling (JS / code-gen)

Project Directory

Project Description Repo GitHub Pages Language
gobank Model bank simulation github pages Go
go-luca Double-entry accounting engine github Go
go-luca-pnl P&L report generation github Go
go-postgres DB abstraction layer (pglike wrapper) github Go
gotreesitter Pure-Go tree-sitter runtime github Go
plain-text-accounting-formats PTA format definitions using tree-sitter github Go
tree-sitter2abnf Converts tree-sitter grammars to ABNF github Go
tree-sitter-goluca Tree-sitter grammar for go-luca syntax github JS (node)
mock-fps Mock FPS API server for gobank demo github Go
lofigui HTML/CSS UI framework (no JS) github pages Go
task-plus Release workflow tooling github statichost Go

Related Articles on bytestone.uk

ArticleDateProjects Referenced
Claude, Singularity Postgres and Gokrazy 2026-02-07 go-postgres
ABNF and Plain Text Accounting 2026-02-26 go-luca, tree-sitter grammars
Cash Movements go-luca (core concept)
Luca Pacioli go-luca (naming origin)

Notes

  • gobank uses a local replace directive for go-luca during development.
  • go-postgres wraps modernc.org/sqlite to provide a pglike interface — pure Go, no CGo.
  • gotreesitter is a pure-Go tree-sitter runtime used by go-luca and plain-text-accounting-formats for parsing PTA syntax.
  • tree-sitter-goluca is the grammar definition (JS/node); tree-sitter2abnf converts it to ABNF for documentation.
  • lofigui is the HTML/CSS UI framework used by gobank (demo submodule) and task-plus.
  • task-plus manages the release workflow for projects that include a task-plus.yml.
  • Dashed lines in the graph indicate non-Go tooling relationships (code generation, grammar definitions, release management).