# ─── macOS ────────────────────────────────────────────────────────────
.DS_Store

# ─── IDE / editor ─────────────────────────────────────────────────────
.idea/
.vscode/
*.swp
*.swo
*~

# ─── Claude Code session state ─────────────────────────────────────────
.claude/
CLAUDE.md
docs/superpowers/

# ─── Python ───────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
sdist/
wheels/
share/python-wheels/
*.egg-info/
*.egg
MANIFEST
pip-log.txt
pip-delete-this-directory.txt
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
coverage.xml
*.cover
.pytest_cache/
.mypy_cache/
.dmypy.json
.ruff_cache/
.hypothesis/
.env
.venv
env/
venv/
ENV/

# uv
# uv.lock is not committed in this repo. The vmx library (langs/python/) is a
# library, not an application, so consumers always re-resolve. The examples
# under examples/python/ are tiny demo apps — re-resolving is fine for them too.
uv.lock
uv.lock.bak

# ─── .NET / C# ────────────────────────────────────────────────────────
bin/
obj/
*.user
*.suo
*.userosscache
*.sln.docstates
TestResults/
[Bb]uild[Ll]og.*
*.[Cc]ache
project.lock.json
project.fragment.lock.json
artifacts/
.vs/

# NuGet
*.nupkg
*.snupkg
.nuget/

# ─── Swift ────────────────────────────────────────────────────────────
# SwiftPM build state (transient — regenerated by `swift build` / `swift test`).
.build/
# SwiftPM resolved dependency graph. The repo's only Swift target has no
# external dependencies today, so Package.resolved would be empty; if deps
# are added later, remove this line to start committing the lockfile.
Package.resolved
# Xcode-derived files (xcuserdata, breakpoints, schemes/xcuserdata). Project
# itself (.xcodeproj/) is Package-managed and would not normally exist.
xcuserdata/
*.xcscmblueprint
*.xccheckout

# ─── Node / TypeScript ────────────────────────────────────────────────
node_modules/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.npm/
.pnpm-store/
# The library lockfile (langs/typescript/package-lock.json) and the two
# flagship example lockfiles (examples/typescript/console/hello-vmx,
# examples/typescript/react/notes-showcase) ARE tracked. Any future ad-hoc
# example projects placed directly under examples/typescript/<dir>/ are
# excluded by the glob below (single-* doesn't recurse, so the two committed
# examples one level deeper are unaffected).
examples/typescript/*/package-lock.json

# ─── Build / coverage artifacts ───────────────────────────────────────
coverage/
*.coverage
*.lcov
*.cobertura.xml

# ─── Docs builds ──────────────────────────────────────────────────────
docs/_build/
docs/site/
site/
