Build & Test
just build # dotnet build RackPeek.sln
just test-all # CLI + E2E tests (rebuilds Web image)
just ci # alias for test-all (matches CI checklist)
just test-cli # dotnet test Tests/Tests.csproj
just test-e2e # requires just build-web first
Run Locally
just run-docker # builds and starts Docker container on :8080
just rpk [args] # run CLI directly from debug build
E2E Setup (first time only)
just e2e-setup # installs Playwright CLI + browsers
Demo
just build-cli-demo # VHS CLI demo (needs: vhs, imagemagick, chrome)
just build-web-demo # Web UI demo (needs: Chrome, ImageMagick)
Release
just docker-push <ver> # multi-arch Docker push (e.g., just docker-push 1.3.0)
format → cli-tests → webui-testsPR checklist:
Draft PR until:
Solution structure:
RackPeek/ — CLI applicationRackPeek.Domain/ — shared domain modelsRackPeek.Web/ — Web UI (Blazor)RackPeek.Web.Viewer/ — Web UI viewerShared.Rcl/ — shared Blazor componentsTests/ — CLI unit testsTests.E2e/ — Playwright E2E testsKey files:
justfile — developer workflow commands.github/workflows/test.yml — CI pipelineRackPeek.sln — solution rootdocs/development/ — dev guides (dev-cheat-sheet.md, testing-guidelines.md)just build-web before just test-e2ejust e2e-setup (first time)ubuntu-latest (CLI tests) and ubuntu-24.04 (WebUI)rackpeek:ci used locally, aptacode/rackpeek on registrydotnet format --verify-no-changes (CI step 1)Headless = false, SlowMo = 500 in PlaywrightFixture.cs, revert before commitdotnet test Tests/Tests.csproj (fast, no Docker)dotnet test Tests.E2e (requires Docker image, Playwright browsers)just ci or just test-alldocs/development/contribution-guidelines.md — PR processdocs/development/dev-cheat-sheet.md — build/release detailsdocs/development/testing-guidelines.md — testing principlesREADME.md — overview and Docker usage