crucible.cli 1.1.76

dotnet tool install --global crucible.cli --version 1.1.76
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local crucible.cli --version 1.1.76
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=crucible.cli&version=1.1.76
                    
nuke :add-package crucible.cli --version 1.1.76
                    

Crucible

Static documentation generator that transforms Markdown into HTML through an XML intermediate representation and XSLT 4.0 transformation.

Packages

Package Description Install
Crucible.Cli Command-line tool dotnet tool install -g Crucible.Cli
Crucible.Extensions Extension library (Mermaid diagrams, plugin API) Library — reference in your project

Quick start

# Install the CLI
dotnet tool install -g Crucible.Cli

# Create a new docs project
crucible init

# Build the site
crucible build

Features

  • Markdown in, HTML out — write docs in Markdown with YAML frontmatter
  • XSLT-powered — transforms via the PhoenixmlDb XSLT 4.0 engine
  • Client-side search — Lunr.js with pre-built index
  • Dark mode — automatic with manual toggle
  • SEO — Open Graph, canonical links, sitemap.xml
  • Extensible — plugin model for custom Markdown processing
  • LLMs.txt — auto-generated site overview for AI consumption

Documentation

Full documentation at phoenixml.dev

License

Apache 2.0

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.1.76 42 9/2/2026
1.1.73 118 8/4/2026
1.1.63 113 7/31/2026
1.1.62 115 7/29/2026
1.1.47 155 4/29/2026
1.1.46 109 4/29/2026
1.1.45 110 4/29/2026
1.0.0 170 3/20/2026

Takes `PhoenixmlDb.Xslt` from **1.5.0** to **1.6.13**. No Crucible source changed;
the engine did.

The heading names a range because the version is the commit count: the commit that
writes these notes changes the version the notes have to name, so the range covers
the pin bump, the notes, and the correction.

The pin was eight minor releases behind. Crucible transforms every page of
phoenixml.dev through this engine, so it is one of the two real-world consumers
that exercise it outside its own test suite — and it was doing that against an
engine from several release trains ago.

1.6.13 carries eleven fixes found by running XSpec's 284-suite corpus against the
engine. Two of them are ones a documentation pipeline is directly exposed to:

- **`xsl:attribute` with a sequence-constructor body escaped its content twice.**
 An attribute built that way containing `&`, `<` or `>` came out wrong while
 staying well-formed, so nothing errored and the damage was only visible when
 something read the value back.
- **A forward-declared global with a namespaced name was evaluated before its
 dependencies.** Node kinds then collapsed: `comment()` and `element()` read as
 documents, `attribute()` as an empty string. Module-structured stylesheets with
 namespaced globals — which describes Crucible's — are exactly the shape that
 hits this.

Also in the engine: unbounded `xs:integer`, correct `namespace-node()` matching,
and named `processing-instruction(target)` types binding the right node kind.

   Crucible.Core.Tests 126 passed, Crucible.Extensions.Tests 8 passed, 0 failed