vbfox/MasterOfFoo
64.8
Adequate · 3 October 2026
4.9k
lines of production code
F#
primary language
2
measurements over time
What this system is
BlackFox.MasterOfFoo is a .NET library that provides a printf-style formatting engine for strings, extracted from the F\# compiler's core implementation. It supports standard format specifiers, string interpolation, and dynamic width/precision across multiple .NET versions. The system includes comprehensive compatibility testing to ensure behavior matches the standard FSharp.Core library.
Features
Added TestApp sample application
A new test application has been added to demonstrate the library's capabilities, including reimplementing printf-style formatting for strings, SQL command generation, and colored console output. The app is configured for .NET Framework 4.5.2 and references FSharp.Core and System.Data.SqlClient.
src/TestApp · high confidence
Initial project scaffolding and documentation
The repository is initialized with the core structure for the BlackFox.MasterOfFoo library, including an .editorconfig for consistent code formatting, an Apache 2.0 LICENSE file, and a comprehensive README.md detailing usage, compatibility (.NET Framework 4.6.1, .NET Standard 2.0, .NET 5.0), and API documentation. Build automation is established via build scripts (build.cmd, build.sh) and Paket tooling, while global.json pins the .NET SDK version. Release notes are included to track version history.
(repo-wide) · high confidence
Introduction of MasterOfFoo printf-like formatting engine
This change introduces the core components of the MasterOfFoo library, providing a printf-like formatting capability for .NET. The \MasterOfFoo.fs\ module implements the \doPrintf\ and \doPrintfFromEnv\ functions, which parse format strings and execute printing steps using a \PrintfEnv\ builder, supporting both standard argument paths and captured format strings. The \PrintableElement.fs\ module defines the \PrintableElement\ type and \PrintableElementType\ enum, which represent the individual elements (direct strings, format specifiers, or engine-generated content) passed to the printer environment, including support for dynamic width and precision via star specifiers.
src/BlackFox.MasterOfFoo · high confidence
Behavioural changes
Extracted and adapted F\# compiler printf/sformat core into BlackFox.MasterOfFoo.Core
The Core module now contains a standalone implementation of F\# printf and structured formatting logic, extracted from the F\# compiler (specifically \printf.fs\ and \sformat.fs\). This includes new files \FormatSpecification.fs\ and \PrintfEnv.fs\ that define format specifiers, flags, and the execution environment for format strings, alongside \printf.fs\ and \sformat.fs\ which provide the core formatting engines. The implementation uses culture-independent parsing for interpolated strings and includes \\*\_original.fs\ reference files to assist with future porting and diffing against upstream F\# compiler changes.
src/BlackFox.MasterOfFoo/Core · high confidence
New build system with comprehensive .NET compatibility testing
The build process has been rewritten as a .NET 10 SDK project using FAKE 5, introducing a new compatibility testing matrix that validates the library across .NET SDK versions 3.1 through 10.0 and various FSharp.Core versions. This new system automatically builds and runs test variants in Docker containers to ensure correctness against golden files, while also streamlining CI integration via GitHub Actions and updating the release workflow to handle versioning and NuGet publishing more robustly.
src/BlackFox.MasterOfFoo.Build · high confidence
Standardized build output paths and package metadata
The build system now centralizes configuration via a new Directory.Build.props file, which directs all build artifacts to a dedicated 'artifacts' directory rather than the project's local output folder. This change also standardizes NuGet package metadata (license, description, tags) and enforces strict warning handling across all projects in the solution.
src · high confidence
Test coverage
Add compatibility testing harness for .NET SDK and FSharp.Core versions; Added Expecto-based test suite for string interpolation and formatting.
Dependencies
Upgrade build infrastructure to .NET 10 and FAKE 6.1.4
The build tooling and test harnesses have been upgraded to target .NET 10, with the FAKE build system updated to version 6.1.4. This change includes new compatibility test projects (CompatProgram) designed to validate the library against various .NET SDKs and FSharp.Core versions, ensuring broader compatibility across the supported target frameworks (net461, netstandard2.0, net5.0, net8.0, and net10.0).
(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 65 → 65 (-0.5)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Architecture 100 → 100 (+0.0)
- Maturity 66 → 66 (+0.0)
- Readiness 56 → 56 (+0.0)
- Security 78 → 75 (-3.6)
Resolved (3)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
vbfox/MasterOfFoo 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 08e917ee99cbbf326249ae9c9f1e09578ecdf5c2 — 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.