# Environment & secrets
.env
.env.bak_*
.env.dev
.env.prod
# atk-managed OAuth client secrets (per-env user files)
**/.env.*.user
*.local
a365.config.json
a365.generated.config.json
.artifacts/
# Ingest temp payloads
scripts/cli/.tmp-*.json

# Build artifacts and env-specific value files (may contain env URLs / oauth reference ids)
.build/
artifacts/

# Python
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
dist/
build/
.venv/
venv/
# Node
node_modules/
package-lock.json
# .NET
bin/
obj/
*.dll
*.exe
*.pdb
# IDE
.vs/
.vscode/settings.json
.idea/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
desktop.ini
# Dataverse connection configs
*.dataverse.config
*.connection.json
# Power Apps
.pcf/
out/
# Custom connector env-specific settings (paconn writes connectorId here)
connectors/*/settings.json
connectors/**/settings.local.json
scripts/test_results_*.md
# Ep 8 agent: skills cache hydrated from Dataverse at runtime
agents/launch-coordinator-py/.skills/
# Local scratch / probe scripts (env-specific identifiers, demo state)
tmp/
scripts/python/_*.py
scripts/python/inspect_*.py
scripts/python/dump_*.py
scripts/python/count_*.py
scripts/python/find_*.py
scripts/python/check_roles.py
scripts/python/seed_*.py
# One-off setup scripts that hardcoded an env-specific URL (kept locally for re-runs)
scripts/build_launch_agents_solution.py
scripts/build_launch_coordinator_bot.py
scripts/check_sentinel_fire.py
scripts/check_ports.ps1
scripts/export_solution.py
# Power Apps code app env binding (contains environment ID)
apps/**/power.config.json
apps/**/.power/
# Generated/compiled code-app artifacts (built from .ts source)
apps/**/RuntimeTypes.js
apps/**/*.compiled.js
# Retired code app (replaced by generative page in Ep 8)
apps/launch-brain-hub/
# Social drafts (LinkedIn copy, scratch narrative) — kept out of the public repo
episodes/**/linkedin-post.md
episodes/**/social-draft.md
# Local social-publishing workspace (LinkedIn post drafts + 60s video scripts).
# These are authoring artifacts for the series, not OSS content. Kept locally
# only — sync from ~/.copilot/session-state/.../files/ if they get out of step.
social/
# OS junk
# Dataverse init skill additions
.claude/mcp_settings.json
.token_cache.bin
*.snk
solutions/*.zip
# Plugin build artifacts (packaged Cowork/Dataverse plugin zips; regenerate locally)
plugins/*.zip
plugins/**/*.zip
# Local-only Copilot CLI "clean home" sandbox + its launcher.
# Contains Azure auth tokens, Copilot session DB, MCP config, and the
# entire installed-plugins/ tree. Never commit -- regenerate locally.
.copilot-clean/
launch-clean-copilot.ps1
# Ep 5 - generated by register_custom_connector.py
connectors/*/_settings.generated.json
connectors/*/.connector-id
# Internal / not for public repo
episodes/ep-99-clawpilot-dataverse/
.deploy/

tmp/cowork-template-extracted/

# ERP MCP device-flow token cache (local only)
episodes/ep-09-dataverse-fno/.erp_token_cache.json

# Ep 10 local Operations Agent exports (contain environment-specific IDs)
episodes/ep-10-dataverse-fabriciq/operations_agent_schema.json
episodes/ep-10-dataverse-fabriciq/operations_agent_schema.parts/
episodes/ep-10-dataverse-fabriciq/operations_agent_template.json
episodes/ep-10-dataverse-fabriciq/operations_agent_direct_message.json
episodes/ep-10-dataverse-fabriciq/sync_latency_hist.png
episodes/ep-10-dataverse-fabriciq/sync_latency_hist.csv
