# Cortex MCPB bundle — exclude everything not needed to run the uv server.
# The `uv` runtime resolves dependencies from pyproject.toml + uv.lock at
# install time, so the virtualenv and all dev / research / CI assets are
# excluded from the bundle. Keep: manifest.json, pyproject.toml, uv.lock,
# icon.png, mcp_server/, assets/banner.svg, README.md, LICENSE, PRIVACY.md.

# Virtual env & caches (deps resolved at install via uv, not bundled)
.venv/
__pycache__/
*.pyc
*.pyo
.pytest_cache/
.ruff_cache/
.mypy_cache/

# VCS & CI
.git/
.github/
.gitignore
.npmignore
.dockerignore
.mcpbignore

# Heavy / irrelevant content
benchmarks/
video/
docs/
tasks/
tests_py/
tests_js/
_pipeline/
.claude/
fuzz/
.clusterfuzzlite/

# Locally-materialised dependency tree. Git-ignored (.gitignore:69), so a CI
# checkout never has it and the bundle is unaffected there — but a `pack` run
# in a working tree that has bootstrapped the plugin launcher picks up ~1.1GB
# and produces a 190MB bundle instead of 2.8MB. Excluded so a local pack and a
# CI pack yield the same archive.
# source: measured 2026-08-01 — same tree, pack with deps/ present: 190.1MB /
#   26951 files; pack from `git archive HEAD`: 2.8MB / 600 files.
deps/

# Hashed pip exports consumed by CI and the Docker images. The MCPB runtime
# resolves from pyproject.toml + uv.lock via `uv run`, and every consumer of
# these files (scripts/, docker/) is already excluded above.
requirements/

# Claude Code plugin assets (not used by the MCPB / uv server runtime)
.claude-plugin/
agents/
commands/
skills/
scripts/
docker/
Dockerfile

# Build artifacts
dist/
build/
*.whl
*.tar.gz
*.egg-info/
*.mcpb

# Repo-meta files not needed at runtime
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
SECURITY.md
typecheck-baseline.json
pyrightconfig.json
glama.json
package.json
