devenv shell to enter the development environment.
Code Quality Commands
fmt
Format all code (Go, TypeScript, and Nix) and stage changes.- Runs
goimportson all Go code - Runs
golangci-lint fmton services - Runs
biome format --writeon frontend TypeScript/React code - Runs
treefmton Nix files - Automatically stages formatted files with
git add -u
lint
Lint all code without making changes.- Runs
golangci-lint runon Go services - Runs
biome checkon frontend TypeScript/React code - Reports style violations and potential issues
Protobuf & gRPC Commands
buf-check
Validate protobuf definitions for linting and breaking changes.- Runs
buf linton proto files - Checks for breaking changes against the
mainbranch usingbuf breaking - Skips breaking check if proto baseline doesn’t exist on main yet
debug-grpc
Test local gRPC service connectivity.- Uses
grpcurlto list available gRPC services on greeter (localhost:8080) - Uses
grpcurlto list available gRPC services on gateway (localhost:8082)
Kubernetes Commands
gen-manifests
Regenerate Kubernetes manifests from nixidy modules.- Executes
scripts/gen-manifests.sh - Evaluates Nix expressions in
deploy/and generates YAML manifests - Outputs manifests to
deploy/manifests/
deploy/ directory.
load-microservice-images
Build and load all microservice container images into kind cluster.- Executes
scripts/load-microservice-images.sh - Builds container images for all microservices
- Loads images into the local kind Kubernetes cluster
watch-manifests
Automatically regenerate and apply manifests on nixidy changes.- Watches all
.nixfiles for changes usingwatchexec - Automatically runs
gen-manifestswhen changes are detected - Applies updated manifests with
kubectl apply -f deploy/manifests/
fix-chart-hash
Automatically fix empty chartHash values in nixidy modules.- Executes
scripts/fix-chart-hash.sh - Scans nixidy modules for missing or empty
chartHashfields - Updates hash values to match current Helm chart versions
debug-k8s
Display Kubernetes pod status and recent events.- Runs
kubectl get pods -Ato show all pod statuses - Displays the 10 most recent events sorted by timestamp
Testing Commands
test-smoke
Run smoke tests for health and RPC endpoints.- Executes
scripts/smoke-test.sh - Tests health endpoints for all services
- Validates basic RPC functionality
Nix Commands
nix-check
Fast sanity check for Nix expressions.- Evaluates the nixidy environment package
- Verifies Nix expressions are syntactically valid
- Reports success or failure without building
Service Scaffolding
new-service
Scaffold a new microservice from templates.type: Service type (goorcustom)name: Service name (e.g.,payment-service)port: Optional port number (defaults to next available)
- Executes
scripts/new-service.sh - Creates service directory structure
- Generates boilerplate code based on service type
- Updates configuration files
Available Tools
The devenv shell includes these additional tools:- buf - Protobuf tooling (lint, breaking, generate)
- grpcurl - gRPC CLI debugger
- tilt - Local Kubernetes development environment
- skopeo - Container image operations
- kind - Kubernetes in Docker
- kubectl - Kubernetes CLI
- helm - Kubernetes package manager