blossom-hub/blossom
48.8
Weak · 3 October 2026
2.3k
lines of production code
F#
primary language
2
measurements over time
What this system is
Blossom is a cross-platform command-line tool for double-entry plain text accounting, specifically designed to handle complex trading strategies, options, futures, and multi-currency assets. It provides a core engine that processes financial journals, calculates capital gains using FIFO matching, and tracks unrealized PnL for mark-to-market instruments. The system offers an interactive REPL, a built-in web server for data exposure, and utilities to convert journals to other formats like Beancount or Knut.
Features
Blossom CLI v0.52 introduces REPL, web server, and file conversion capabilities
Blossom CLI version 0.52 is now available, introducing a full interactive REPL for journal management (load, switch, close, reload) and querying (balances, journal entries, balance series, lot analysis, holdings, meta data). The CLI adds a built-in web server (via Suave) to expose journal data over HTTP, and a new \pp\ command to convert Blossom journals to Beancount or Knut formats. Global options such as performance reporting, debug mode, load tracing, valuation date, and max rows are now configurable via the \set\ command.
blossom-cli · high confidence
Initial release of Blossom, a double-entry plain text accounting CLI
This change introduces the Blossom project, a cross-platform command-line tool for double-entry plain text accounting designed specifically for traders. The repository establishes the core solution structure with three projects: \blossom-core\ for the accounting engine, \blossom-cli\ for the command-line interface, and \blossom-tests\ for verification. The application is built using F\# and .NET Core, supporting Windows and Linux, and focuses on handling complex trading strategies, options, futures, and multi-currency assets beyond standard personal finance tools. The release includes initial documentation, an MIT license, and a \.gitignore\ configuration for Visual Studio and Ionide development environments.
(repo-wide) · high confidence
Introduce core investment analysis and journal processing engine
This change adds the foundational components for processing financial journals and analyzing investment performance. It introduces a new parser (JournalParser) to ingest journal data into an intermediate format, and a core analysis module (Analysis) that calculates capital gains using FIFO matching, tracks open/closed trading lots, and computes unrealized PnL for mark-to-market (MTM) instruments. The engine automatically generates accounting entries for trade settlements, dividend income, and periodic unrealized gains/losses, routing them to specific internal accounts (e.g., \_CapitalGains, \_UnrealisedGains). Additionally, it provides reporting capabilities (Reports) to display balances, journal entries, and statistics, along with helper modules for account manipulation and tabular output rendering.
blossom-core · high confidence
Test coverage
Added test data files for market, trading, and ledger scenarios; Initial test suite for infrastructure, parser, and journal logic.
Dependencies
Upgrade to .NET 10 and F\# 5.0
The project has been upgraded to target .NET 10.0 (net10.0) and updated to use FSharp.Core version 10.0.102. This change affects the CLI, core library, and test projects, ensuring compatibility with the latest .NET runtime and F\# language features. Dependencies such as Suave (3.2.3) and FParsec (1.1.1) are also aligned with this new framework version.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 47 → 49 (+1.6)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 91 (new)
- Architecture 100 → 100 (+0.0)
- Maturity 24 → 24 (+0.0)
- Readiness 50 → 50 (+0.0)
- Security 91 → 91 (+0.0)
Resolved (3)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
New (7)
- Duplicated block (13 lines × 2) (blossom-cli/PrettyPrint.fs)
- Duplicated block (18 lines × 2) (blossom-core/Reports.fs)
- Duplicated block (5 lines × 2) (blossom-cli/PrettyPrint.fs)
- Duplicated block (6 lines × 2) (blossom-cli/PrettyPrint.fs)
- Duplicated block (6 lines × 3) (blossom-core/Reports.fs)
- Duplicated block (6 lines × 3) (blossom-core/Reports.fs)
- TooManyFunctions: Shared (blossom-core/Shared.fs)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
blossom-hub/blossom was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 194614ca402b8c63db86d62da51f5b45158854b0 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.