# Python
__pycache__/
*.py[cod]
*.pyd
*.egg-info/
build/
dist/
.eggs/
.venv/
venv/
env/
test-env/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.pytype/
.cache/
.coverage
coverage/
htmlcov/
*.spec

# Build / release outputs. Installers are published as GitHub Release
# attachments, never committed to source control.
/Info_for_ai_agents/
/Installer/
/build/
/dist/
/Release/
/release/
/archive/
/installed app/
*.exe
seedcode-cli-setup.exe

# Volatile outputs of scripts/windows/build_assets.py (regenerated every
# build). The stable brand assets (seedcode.ico, wizard*.bmp) STAY committed:
# tests and manual ISCC compiles depend on them existing in the repo.
/assets/windows/version_info.txt
/assets/windows/preview.png

# Seed Code local state (never commit user secrets or history).
# Anchored to the repo root so the seedcode/config package is NOT ignored.
.seedcode/
/config/
/history/
/data/
*.log

# Secrets: the real .env never enters source control. The v6.2.0 release
# build consumes it locally (scripts/windows/embed_default_key.py) and the
# generated module it produces is also excluded.
.env
.env.*
!.env.example
seedcode/_default_key.py

# OS / editor / agent state
.DS_Store
Thumbs.db
Desktop.ini
.idea/
.vscode/
.claude/

# Scratch / temporary artifacts (never part of a release)
# _verify/ holds throwaway virtualenvs and clean-home install tests used while
# validating a release build. It must stay out of the tree's package inputs:
# hatchling's sdist includes untracked, non-ignored files, so leaving a scratch
# venv here would otherwise end up inside the source distribution.
_verify/
*.tmp
*.bak
*.orig
*.rej
*.crdownload
_scratch*
/probe*
errorlevel
opencode.txt
V6.2.0/
newupdatec6.2.5/
WEBSITE/

# npm launcher packaging output. `npm pack` inside npm/ writes the tarball
# here; release tarballs are staged in dist/ instead of being committed.
/npm/*.tgz
/npm/node_modules/

# Release archives are build outputs. Wheels, sdists and npm tarballs are
# published as GitHub Release assets and staged under dist/release/<version>/,
# so a stray copy at the repository root is never source.
/*.whl
/*.tar.gz
/*.tgz

# Windows build scratch: a literal %LOCALAPPDATA% directory can be created by
# pip when an environment variable fails to expand inside a cmd shell during a
# build. It holds only caches and is never source.
/%localappdata%*/

# NOTE: docs/reports/*.md, *.txt and *.docx are committed release documents
# (see docs/reports/), so they are deliberately NOT ignored.
