# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual environments
.venv/
venv/
env/
ENV/

# IDE
.vscode/
.idea/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Node (legacy)
node_modules/
package-lock.json

# Everything about how we work stays out of the public repo.
#
# One directory, one rule. The previous version listed eight files by name
# across two sections, which is a design that fails quietly: a new document
# lands in the root, nobody remembers to add a line, and one `git add -A`
# publishes the internal roadmap. A directory cannot be forgotten.
#
#   internal/reportes/   audit and performance write-ups
#   internal/plan/       workplan, roadmaps, PM guide
#   internal/pruebas/    test protocols
#   internal/difusion/   webinar and OGTIC drafts
#   internal/archivo/    superseded versions
internal/

# Dev harness and the data it produces. Not moved under internal/ only because
# hundreds of relative paths inside the scripts point at these exact locations.
sweep/
mirror/

# Test artifacts
.coverage
htmlcov/

# Belt and braces: if a stray internal document lands in the root anyway, these
# name-based rules still catch the ones we have used. `internal/` remains the
# rule that matters — these exist because moving files into it is a manual step
# and manual steps get skipped.
Roadmap.md
testing_audit.md
plan_*.md
