# Authored infrastructure config stays committed.
# Only ignore local/generated outputs and secrets.

# Standalone hygiene — an app scaffolded OUTSIDE the framework monorepo has no
# parent .gitignore covering build/toolchain outputs, so they are ignored here
# (harmless duplication when the app lives under examples/).
node_modules/
dist/
.turbo/
*.tsbuildinfo
.DS_Store

# Infrastructure secrets (never commit)
infrastructure/**/secrets/

# Framework-delivered asset homes (template-system V2-P1): mirrored from the framework by
# dev-app-assets-deliver.mjs (scenario/skeleton templates + non-skill framework knowledge).
# Framework-owned, safe to delete, rebuilt by the sync loop — never commit them.
.wildo-saas/templates/
.wildo-saas/docs/
.wildo-saas/.wildo-app-assets-delivery.json

# Generated/local .wildo-saas state
.wildo-saas/state/
.wildo-saas/dist/
.wildo-saas/tmp/
.wildo-saas/runtime-signals/
.wildo-saas/local_data/
.wildo-saas/logs/
.wildo-saas/wildo.preferences.local.json
.wildo-saas/generated/providers/*.runtime-providers.generated.json
**/src/generated/wildo-provider-runtime.generated.ts
**/src/generated/wildo-governed-document-public-release-bundle.generated.ts
**/src/generated/wildo-governed-document-release-deployment-bundle.generated.ts
**/.wildo-providers.env

# Generated infrastructure outputs under .wildo-saas
.wildo-saas/infrastructure/environments/**/generated/
.wildo-saas/infrastructure/environments/**/docker-compose/

# Generated deployment artifacts (K8s Secret/ConfigMap YAML, per-service compose
# `.env` files) rendered by `wildo config sync --domain config`. EVERY file in
# this zone carries credentials. The generator also writes an ignore-everything
# `.gitignore` into each rendered `deploy/<env>/` directory, so the zone is
# self-protecting even in an application whose root `.gitignore` lacks this
# line — this rule is the defense-in-depth half of that pair.
.wildo-saas/deploy/

# Generated companion build output
# The companion drop is a GENERATED dist-only delivery (issue #64), written by
# scripts/dev-orchestrator/dev-companion-deliver.mjs from the canonical source at
# platform/factory/wildo-dev-companion. The rendered package.json and supervision
# script are generated-but-COMMITTED (the drop is a workspace member, so its
# manifest must survive a fresh clone or the lockfile importer drifts — same
# pattern as generated i18n label files). The dist bytes and per-delivery
# manifest stay local.
.wildo-saas/wildo-dev-companion/dist/
.wildo-saas/wildo-dev-companion/.wildo-companion-delivery.json

# Local ownership state for the explicit Framework Knowledge materializer.
# The materialized `.claude/skills` product remains visible/reviewable; only
# this manifest is disposable synchronization state.
.claude/.wildo-framework-knowledge/

# Generated env files in service dirs
**/.env
**/.env.local

# Per-application Vite cache for the application-creation workbench drop. The drop's MANIFEST is
# tracked (workspace membership needs it, exactly like the companion's); this is optimized-dependency
# output and is safe to delete at any moment.
.wildo-saas/cache/

# The companion's local token-signing keypair — machine-local, never committed.
.wildo-saas/companion-keys/
