Turn your backend expertise into a one-command demo. This CLI scaffolds a production-flavoured .NET 9 microservice playground, boots supportive infrastructure, runs tests, and benchmarks the resulting API so recruiters can see your craft instantly.
- Rapid scaffolding – Generate a minimal API solution with clean architecture skeleton, opinionated defaults, and optional Redis/RabbitMQ integrations.
- Infrastructure ready – Ships with Docker Compose blueprints for backing services and telemetry wiring stubs for observability.
- Built-in operations – Commands for service orchestration, integration tests, load benchmarking, and plugin management.
- Extensible templates – Templates are embedded resources; extend via JSON manifest and plugin registry to showcase customization skills.
# Prerequisites: .NET SDK 9.0+, Docker (optional for services/benchmarks)
git clone https://github.com/locfaker/CLI-BACKEND.git backend-proving-ground
cd backend-proving-ground
# Build & test to verify everything compiles locally
dotnet build
dotnet test
# Scaffold a new playground
dotnet run --project src/Bp.Cli/Bp.Cli.csproj -- init awesome-api --with-redis --with-rabbit --force
# Start backing services
dotnet run --project src/Bp.Cli/Bp.Cli.csproj -- services up
# Run integration tests & benchmarks
dotnet run --project src/Bp.Cli/Bp.Cli.csproj -- test --integration
dotnet run --project src/Bp.Cli/Bp.Cli.csproj -- benchmark --duration 60s --vus 100| Command | Purpose |
|---|---|
bp init <NAME> [--with-redis] [--with-rabbit] [--force] |
Scaffold a new backend proving ground solution. |
bp services up/down |
Start or stop Docker Compose backing services. |
bp test [--filter <expr>] [--integration] |
Execute the solution test suite. |
bp benchmark [--duration <value>] [--vus <count>] [--report-path <dir>] |
Run load tests and emit reports. |
bp telemetry enable/disable |
Toggle telemetry wiring in the generated project. |
bp plugin add/list/remove |
Manage extension plugins via manifest entries. |
backend-proving-ground.sln
├── src
│ ├── Bp.Cli # Spectre.Console command host
│ ├── Bp.Core # Domain contracts & process utilities
│ └── Bp.Scaffolder # Template engine & embedded assets
└── tests
└── Bp.Cli.Tests # Verification suite (xUnit + Verify)
- The CLI is intentionally modular: DI registration allows easy expansion of features during interviews or pair sessions.
- Templates live as embedded JSON/yaml assets so candidates can demonstrate customization without external dependencies.
- Command handlers, scaffolding, and process runners are split by responsibility, making it straightforward to review architecture choices.
Released under the MIT License. Customize freely to match your own backend storytelling.