Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workbench

CI

One canonical home for reusable libraries and copy-to-start scaffolds. Libraries are edited here and extracted into projects; scaffolds are copied once and owned by the project.

Front door: index.html — the dashboard GitHub Pages serves, linking every tier.

Structure

Tier What it is
libraries/ Canonical, versioned, reused as-is: design-system/ and storyboard/
scaffolds/ Starters you copy once to begin a project, then own
tools/ extract.mjs — copies libraries into consuming projects
docs/ Specs, plans, and workbench notes

App content — screens, flows, data — never lives here. It lives in the project you spin up from a scaffold.

Pick a scaffold

Scaffold Use it for Build step
scaffolds/web-vite/ Web projects — vanilla-JS MVC, Vite + Biome npm install
scaffolds/csharp-console/ Single-project console app — init.sh injects editor configs dotnet build
scaffolds/csharp-layered/ Solution with class library, console front-end, NUnit dotnet build
scaffolds/csharp-wpf/ WPF/MVVM desktop — CommunityToolkit.Mvvm, tokens.xaml, xUnit dotnet build
scaffolds/csharp-api/ ASP.NET Core Web API — layered API + repository, EF Core + SQLite, xUnit dotnet build

The web scaffold ships a bundled copy of the design system, a no-flash dark/light toggle, a mobile-first responsive baseline, and accessibility defaults. Each scaffold's README.md has the first setup steps.

Reuse a library

Libraries live in libraries/. Copy one into any project (web or C#) with the extract tool:

node tools/extract.mjs design-system ../my-app            # → ../my-app/design-system
node tools/extract.mjs design-system ../my-api/wwwroot    # into a C# wwwroot
node tools/extract.mjs design-system ../my-app --check    # is my copy stale?

The tool copies only the lean parts, records the version, and refuses to overwrite files you've edited locally (pass --force to override). Edit a library in the workbench, never in a consuming project, then re-run extract.

One rule for consumers: exclude the copied design-system/ from your formatter (Biome: "!design-system" in files.includes — the web scaffold already ships this), so format hooks don't count as local edits.

Design system

The canonical source of truth is libraries/design-system/ — tokens, primitives, components, compositions, utilities, theme, plus its own gallery/ (live component browser) and sandbox/. It versions independently via its VERSION file. See its README for principles and structure.

License

MIT

About

One canonical workbench - shared design system, copy-to-start scaffolds for web (Vite) and C#/.NET, and a versioned extract tool.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages