Bravellian.Workbench
2026.2.9.934
dotnet tool install --global Bravellian.Workbench --version 2026.2.9.934
dotnet new tool-manifest
dotnet tool install --local Bravellian.Workbench --version 2026.2.9.934
#tool dotnet:?package=Bravellian.Workbench&version=2026.2.9.934
nuke :add-package Bravellian.Workbench --version 2026.2.9.934
Workbench
Workbench is a .NET CLI for managing Workbench documentation, work items, and contracts in this repo.
Repository map
src/Workbench: CLI source code.tests/: automated tests.docs/: product, architecture, contracts, decisions, and runbooks.docs/70-work/: active and completed work items plus templates.assets/: static assets used by docs or tooling.artifacts/: build outputs and local artifacts.testdata/: fixtures for parsing and validation tests.
Requirements
- .NET SDK
10.0.100(seeglobal.json). - Optional: GitHub CLI for the GH-dependent integration tests.
Common commands
Build the solution:
dotnet build Workbench.slnx
Run the CLI:
dotnet run --project src/Workbench/Workbench.csproj -- --help
Run tests:
dotnet test Workbench.slnx
Run unit tests only:
dotnet test tests/Workbench.Tests/Workbench.Tests.csproj
Run integration tests:
dotnet test tests/Workbench.IntegrationTests/Workbench.IntegrationTests.csproj
Run GitHub CLI-dependent integration tests:
WORKBENCH_RUN_GH_TESTS=1 dotnet test tests/Workbench.IntegrationTests/Workbench.IntegrationTests.csproj
Pack the .NET tool:
dotnet pack src/Workbench/Workbench.csproj -c Release
Publish a native binary (AOT):
dotnet publish src/Workbench/Workbench.csproj -c Release -r osx-arm64
Replace the runtime identifier with your target (e.g., win-x64, linux-x64).
Verification steps:
ls src/Workbench/bin/Release/net10.0/osx-arm64/publish
./src/Workbench/bin/Release/net10.0/osx-arm64/publish/workbench --help
Expected warnings:
- None. Treat any trimming/AOT warnings (IL2026/IL3050) as regressions.
Documentation and contracts
- Docs overview:
docs/README.md - Work items:
docs/70-work/README.md - CLI help:
docs/30-contracts/cli-help.md - Schemas:
docs/30-contracts/
Voice commands
workbench voice workitemrecords audio, transcribes it, and generates a work item.workbench voice doc --type <spec|adr|doc|runbook|guide> [--out <path>] [--title "<...>"]records audio, transcribes it, and generates a doc with YAML front matter.- While recording, press ENTER to stop or ESC to cancel.
Requirements:
- Set
OPENAI_API_KEY(orWORKBENCH_AI_OPENAI_KEY) for transcription. - macOS: allow the terminal (or the built binary) in System Settings → Privacy & Security → Microphone.
Optional configuration:
WORKBENCH_AI_TRANSCRIPTION_MODEL(default:gpt-4o-mini-transcribe)WORKBENCH_AI_TRANSCRIPTION_LANGUAGE(e.g.,en)WORKBENCH_VOICE_MAX_DURATION_SECONDS(default:240)
Smoke test:
- Run
workbench voice workitem, speak a short phrase, press ENTER, and confirm a work item file is created.
Recording visualization
Workbench shows a small level meter/equalizer in the recording dialog.
In the TUI, open it with F12 or Ctrl+R from the Work Items tab.
Optional knobs (env vars):
WORKBENCH_VOICE_VIZ_BANDS(default:12)WORKBENCH_VOICE_VIZ_UPDATE_HZ(default:20)WORKBENCH_VOICE_VIZ_FFT_SIZE(default:1024)WORKBENCH_VOICE_VIZ_LEVEL_BOOST(default:1.6)WORKBENCH_VOICE_VIZ_SPECTRUM(default:true)
Navigation
Generated by workbench nav sync.
Quick links
Work item stats
| Metric | Count |
|---|---|
| Open | 3 |
| Closed | 1 |
| Total | 4 |
| Status | Count |
|---|---|
| 🟡 draft | 3 |
| 🟢 ready | 0 |
| 🔵 in-progress | 0 |
| 🟥 blocked | 0 |
| ✅ done | 1 |
| 🚫 dropped | 0 |
CI
GitHub Actions builds and tests on ubuntu-latest, windows-latest, and
macos-latest with .NET 10.0.x:
dotnet build Workbench.slnx
dotnet test Workbench.slnx
Contributing
| Product | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.2.9.934 | 313 | 2/9/2026 |
| 2026.1.7.1236 | 277 | 1/7/2026 |
| 2026.1.2.1297 | 119 | 1/2/2026 |
| 2026.1.2.1186 | 105 | 1/2/2026 |
| 2026.1.2.1160 | 95 | 1/2/2026 |
| 2026.1.2.1148 | 94 | 1/2/2026 |
| 2026.1.2.1110 | 94 | 1/2/2026 |
| 2026.1.2.1018 | 92 | 1/2/2026 |
| 2026.1.1.526 | 110 | 1/1/2026 |
| 2026.1.1.476 | 99 | 1/1/2026 |
| 2026.1.1.398 | 97 | 1/1/2026 |
| 2026.1.1.370 | 96 | 1/1/2026 |
| 2026.1.1.359 | 94 | 1/1/2026 |
| 2026.1.1.350 | 93 | 1/1/2026 |
| 2026.1.1.330 | 96 | 1/1/2026 |
| 2026.1.1.142 | 93 | 1/1/2026 |
| 2025.12.31.479 | 97 | 12/31/2025 |
| 2025.12.31.471 | 92 | 12/31/2025 |
| 2025.12.31.358 | 100 | 12/31/2025 |
| 2025.12.31.247 | 95 | 12/31/2025 |