Imported from izzywdev/FuzeInfra (
.claude/skills/local-environment/SKILL.md). Install upstream withnpx skills add izzywdev/FuzeInfra --skill local-environment. Copyright stays with the author.
local-environment
Per governance/local-environment.md. Grounded in FuzeInfra's docker-compose.consumer-test.yml + versions.env + make kind-up.
Set up the bounded local-up
- Vendor FuzeInfra as a git submodule (gives consumer-test compose,
versions.env, the Helm chart — version-accurate). - CI/quick tier (gate-localup):
docker compose --env-file FuzeInfra/versions.env -f FuzeInfra/docker-compose.consumer-test.yml up -d --wait # start your service pointed at localhost deps + the mocks below; run a health/smoke docker compose -f FuzeInfra/docker-compose.consumer-test.yml down -v - Full-parity tier:
cd FuzeInfra && make kind-up(kind + ingress-nginx + cert-manager local CA + Helmvalues-local,*.dev.local), then deploy your chart/values-local.yaml(skaffold) into the kindfuzeinfracluster.
Mock matrix (never call the real external locally)
email→MailHog · SMS/voice→Twilio mock (TWILIO_MOCK=true) · authz→Permit PDP offline · payments→Stripe test mode · another Fuze service→Prism/MSW from its OpenAPI contract · AWS→LocalStack.
Boundary check (what gate-localup asserts)
- The bounded stack stands up + a health/smoke passes.
- No egress to real/prod endpoints — run on an egress-deny network and/or assert the mocks were hit; fail if a real external host is contacted.
helm lint+helm template | kubeconform -strict -ignore-missing-schemasfor the chart.
Provide
A Helm chart + values-local.yaml (+ skaffold; Argo app for prod), the consumer-test wiring, and a documented one-command up per tier. A PR that breaks the local-up or adds a real external call fails the gate.