# Bytecode
*.pyc
__pycache__/
*.py[cod]

# Environments
.venv/
venv/
env/

# Distribution / packaging
build/
dist/
*.egg-info/

# Testing / coverage
.coverage
htmlcov/
.tox/

# Jupyter
.ipynb_checkpoints/

# IDEs
.idea/
.vscode/

# Type checker
.mypy_cache/
.pytype/
.pyre/

# Linting / tools
.ruff_cache/
.pytest_cache/

# Build artifacts
*.whl
*.egg
*.egg-link

# MCP server local config
mammoth-mcp/.venv/
mammoth-mcp/poetry.toml

# Stale dev / scratch files
test_debug.py
test_live_api.py
stress.py
employee.csv
Store_Transactions.csv
openapi.json
# The CLI's pinned OpenAPI snapshot is a committed source artifact: contract
# tests read it and the built wheel ships it. Keep it tracked despite the
# broad rule above (which still ignores stray downloads elsewhere).
!mammoth-cli/spec/openapi/openapi.json

# Env files
.env
*.env
bridge/.env

# Local-only reference / build output (not part of the SDK)
mvc-service/
site/
bridge/
*.docx


# Transient STE text corpus
mammoth-cli/build/

# The CLI is poetry-managed for dev and installed via `uv tool install
# mammoth-cli` from PyPI (uv resolves fresh); the clean-bootstrap installer CI
# also resolves fresh by design. A real `uv lock` is not possible yet: uv needs
# a PEP 621 `[project]` table, but this pyproject uses the legacy `[tool.poetry]`
# layout that the release/CI workflows read (`poetry version`, `[tool.poetry]`
# dependency reads), and even with a `[project]` table the required
# `mammoth-io>=0.7,<0.8` must resolve on PyPI before the CLI can be released.
# Until both hold, keep any (necessarily bogus) uv.lock
# out of the tree so a stray one pinning the wrong requires-python (e.g. >=3.14)
# cannot be committed. See the release notes for the follow-up.
mammoth-cli/uv.lock
