EluciusFTW/SpectreCoff
65.2
Adequate · 2 October 2026
2.4k
lines of production code
F#
primary language
2
measurements over time
What this system is
SpectreCoff is an F\# wrapper library that provides a functional API for building terminal user interfaces using the Spectre.Console framework. It exposes composable components for rendering tables, grids, charts, and text art, as well as interactive prompts and live displays. The system also includes a CLI tool that serves as runnable documentation by demonstrating these UI widgets.
Features
Add CLI example commands for Spectre.Console widgets
The CLI now includes a comprehensive set of example commands demonstrating the library's UI components. New commands have been added for BarChart, BreakdownChart, Calendar, Canvas, CanvasImage, Dumpify, Figlet, Grid, JSON, Layout, LiveDisplay, Output, Padder, Panel, Progress, Prompt, Rule, Status, Table, Textpath, Themes, and Tree. These commands serve as runnable documentation and usage examples for the corresponding Spectre.Console features.
src/spectrecoff-cli/commands · high confidence
CLI now includes example commands for Spectre.Console components
The \spectrecoff-cli\ tool now registers a comprehensive set of command branches (output, table, rule, figlet, prompt, panel, bar, breakdown, tree, calendar, padder, grid, textpath, json, canvas, canvasimage, layout) that display examples of their respective Spectre.Console features when invoked with the 'example' subcommand.
src/spectrecoff-cli · high confidence
Introduce F\# wrapper library for Spectre.Console components
This change adds a new F\#-idiomatic wrapper library (SpectreCoff) that exposes a functional API for a wide range of Spectre.Console terminal UI components. The new files introduce modules for rendering tables (with column spanning and footers), grids, trees, panels, rules, padders, and layouts, as well as interactive prompts (text, selection, multi-selection, and grouped selection with cancellation and suggestions). It also adds support for live displays, status indicators with async operations, progress bars, charts (bar and breakdown), calendars, canvas drawing, image rendering, JSON formatting, figlet text, and text paths. This provides users with a composable, functional interface to build complex terminal applications using the Spectre.Console framework.
src/spectrecoff/Spectre · high confidence
New theming system and output styling infrastructure
This change introduces a new theming system in \Theming.fs\ that allows users to switch between predefined color palettes (Iceberg, Volcano, CyberPunk, NeonLights, FuturisticBlue, Documentation) via the \applyTheme\ function, which updates the global styling variables. It also adds \Styling.fs\ to define the \Look\ record (containing color, background color, and decorations) and \Output.fs\ to provide a structured \OutputPayload\ type system for rendering content with these styles, including support for links, emojis, and various text decorations.
src/spectrecoff · high confidence
Removals
Removal of Hello command and output utilities
The 'Hello' command implementation and the associated output formatting utilities have been removed from the application. Users will no longer be able to use the 'Hello' command to greet a name, and the specific styling functions previously used for console output are no longer available in this codebase.
commands, spectre · high confidence
Behavioural changes
SpectreCoff 0.57 release: new Figlet, Table, and Prompt features with breaking changes
This release updates the underlying Spectre.Console dependency to 0.57.2 and introduces several new capabilities: Figlet now supports layout modes (FullSize, Fitted, Smushed); Table and Grid cells can span multiple columns; and Selection Prompts now support suggested choices and cancellation via Escape. Additionally, Text Prompts expose editable suggestions and a clear-on-finish option. Users upgrading must address breaking changes: the return type of \chooseMultipleFrom\ changes from a generic List to an F\# list, the \TableLayout.Alignment\ field is removed, and \PromptOptions\ and \MultiSelectionPromptOptions\ require new fields for editable suggestions and optional selections.
(repo-wide) · high confidence
Test coverage
Initial test suite for SpectreCoff modules
Added a new unit test project covering the Figlet, Output, Styling, Table, and Theming modules. The tests verify default layout and alignment behaviors, markup string generation and escaping, style mapping to Spectre.Console types, table column and footer configuration, spanning cell logic, and theme inheritance and overrides.
src/spectrecoff-tests · high confidence
Dependencies
Upgrade to Spectre.Console 0.57.2 and .NET 10 support
The library and CLI have been upgraded to target .NET 10 (with continued support for .NET 8 and 9) and updated to use Spectre.Console version 0.57.2. This release also includes updates to supporting dependencies such as Dumpify (0.7.0) and FSharp.Core (8.0.403), and introduces a new test project using Expecto and FsUnit.
(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 64 → 65 (+1.4)
- Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 97 → 97 (+0.2)
- Architecture 95 → 100 (+4.7)
- Maturity 64 → 63 (-0.8)
- Readiness 52 → 55 (+2.8)
- Security 74 → 74 (+0.0)
Resolved (7)
- Duplicated block (7 lines × 2) (src/spectrecoff-cli/commands/Canvas.fs)
- Edited copy of a member (8 corresponding lines) (src/spectrecoff-cli/commands/Canvas.fs)
- Off-boarding risk: anonymized user #1
- Orphaned files with no living knowledge
- Outdated: Spectre.Console
- Outdated: Spectre.Console.ImageSharp
- Outdated: Spectre.Console.Json
New (3)
- Duplicated block (7 lines × 2) (src/spectrecoff-cli/commands/Canvas.fs)
- Edited copy of a member (8 corresponding lines) (src/spectrecoff-cli/commands/Canvas.fs)
- Off-boarding risk: anonymized user #1
Changes since last survey
- 11 commits — 11 feature/other, 0 fixes
By area
- (root) — 7 commits
- src/spectrecoff-cli — 2 commits
- .config/dotnet-tools.json — 1 commit
- src/spectrecoff — 1 commit
Notable commits
- change: Add cancellable selection prompts
- change: Add figlet layout modes
- change: Add selection prompts with a suggested choice
- change: Add table cells spanning several columns
- change: Changed indentation to 4
- change: Cleanup latest changes and documentation
- change: Expose editable suggestions and clear-on-finish for text prompts
- change: Let Fantomas rip
- change: Update Spectre.Console to 0.55.2 and Dumpify to 0.7.0
- change: Update Spectre.Console to 0.57.2
- change: Updated Fantomas
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
EluciusFTW/SpectreCoff 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 2 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 1aaff440eefbdde6a158db947ff8b57c64add766 — 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-351388015767.