crucible.cli 1.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global crucible.cli --version 1.2.0
                    
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.2.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=crucible.cli&version=1.2.0
                    
nuke :add-package crucible.cli --version 1.2.0
                    

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.6.0 53 10/27/2026
1.5.0 148 10/7/2026
1.4.0 117 9/28/2026
1.3.0 124 9/27/2026
1.2.0 120 9/18/2026
1.1.76 135 9/2/2026
1.1.73 142 8/4/2026
1.1.63 145 7/31/2026
1.1.62 134 7/29/2026
1.1.47 170 4/29/2026
1.1.46 125 4/29/2026
1.1.45 125 4/29/2026
1.0.0 184 3/20/2026

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

Minor rather than patch because `crucible.cli` **embeds** the engine — `PackAsTool` ships the
full publish output — so the engine's breaking change is a breaking change for any stylesheet
this tool renders.

### Why this release matters more than a version bump

The published `crucible.cli 1.1.76` carries, by its own `deps.json`:

```
PhoenixmlDb.Core/1.6.7   PhoenixmlDb.XQuery/1.6.12   PhoenixmlDb.Xslt/1.6.13
```

That is the pairing recorded as known-bad — Xslt 1.6.13 depending on XQuery 1.6.12, the artifact
that `check-release-train.sh` was written to prevent. crucible builds phoenixml.dev, so our own
documentation has been rendered by the combination we flagged. This release ends that.

### Breaking, inherited from the engine

`ft:*` and `dbxml:metadata` no longer exist; they are `phx:*`, with `phx` predeclared. A
stylesheet or query using the old names fails at compile time rather than behaving differently.
See `PhoenixmlDb.Xslt` 2.0.0 for the full list.

### Verified

134 tests pass, unchanged from the 2.0.0 pin.

**The rendered site is byte-identical.** Both pipeline stages were run against the same docs
source (`phoenixml-docs` @ `8da51b6`, clean) on each engine and diffed:

| stage | files differing |
|---|---|
| `ParseOnly` — Markdown to intermediate XML | 0 of 116 |
| `TransformOnly` — XML to HTML | 0 of 116 |

The arms were confirmed to differ before trusting that result — an A/B that silently runs one
engine twice produces exactly the same clean diff. Read from each build's `deps.json`:

```
control:  PhoenixmlDb.Xslt/2.0.0  PhoenixmlDb.XQuery/2.0.0
new:      PhoenixmlDb.Xslt/2.1.0  PhoenixmlDb.XQuery/2.1.0
```

So a three-minor-version engine jump changes this site's output by nothing, and that is measured
rather than assumed.

### Also

`check-release-train.sh` compares engine pins against `<EngineTrain>` in
`Directory.Packages.props` rather than crucible's own release version, which could never match.
Before that fix no crucible tag could pass its own gate.