# Logs
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Environment files
.env
.env.*
!.env.example
**/live-state.json

# Node / npm
node_modules/
.npm/
.pnpm-store/
dist/
build/

# packages/cli/npm bundles the manifest from packages/cli/contracts at build/
# test time (scripts/copy-manifest.cjs) — that copy is generated, not source.
packages/cli/npm/contracts/
coverage/
report/
*.tsbuildinfo

# Python / pip
__pycache__/
*.py[cod]
*.pyo
.Python
.venv/
venv/
env/
pip-wheel-metadata/
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/

# Java / Maven
target/
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
*.class
*.jar
*.war
*.ear

# .NET / NuGet
# Scoped to packages/nuget/ specifically — an unscoped `bin/`/`obj/` matches
# a directory of that name at ANY depth (gitignore has no implicit anchor),
# which silently swallowed the real source file packages/cli/npm/src/bin/hc.ts
# and broke that package's CI build (the file was never committed).
packages/nuget/**/bin/
packages/nuget/**/obj/
TestResults/
*.nupkg
*.snupkg
*.user
*.suo

# IDEs and editors
.idea/
.vscode/
*.swp
*.swo
.DS_Store
Thumbs.db

# Build outputs and caches
out/
tmp/
temp/
.cache/
.parcel-cache/
.turbo/

# Disposable OpenAPI Generator staging and C#/Java sanity outputs
.generated/

# Immutable S3-publish release snapshots and the latest-release pointer are
# build/publish artifacts, generated on demand by `npm run docs:release` /
# `npm run docs:publish` -- docs-data/v1 (committed) remains the Portal-facing
# source of truth in this repo.
docs-data/releases/
docs-data/latest.json

# ── Generated documentation ──────────────────────────────────────────────
# The pip packages force-include docs/ (hatchling errors outright if it is
# absent), so those two keep a .gitkeep and are populated by docs:build.
#
# Built by `npm run docs:build` from contracts/pinned + the SDK source, and
# published to S3 by .github/workflows/docs-publish.yml. The package publish
# workflows regenerate packages/*/docs before packaging, because the package
# manifests ship it. None of it is source -- do not commit it.
docs-data/v1/
packages/npm/docs/
packages/pip/docs/*
!packages/pip/docs/.gitkeep
packages/npm-tenantadmin/docs/
packages/pip-tenantadmin/docs/*
!packages/pip-tenantadmin/docs/.gitkeep
