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

# Virtual environments
venv/
ENV/
env/
.venv

# IDEs
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# Testing
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
*.cover
*.log
.hypothesis/
junit.*.xml
coverage.*.xml
coverage.xml

# Type checking
.ty_cache/
.pytype/
.pyre/

# Documentation
docs/_build/
site/
.mkdocs_cache/

# Distribution
*.whl

# Jupyter Notebook
.ipynb_checkpoints
*.ipynb

# Marimo
examples/__marimo__/

# Environment
.env
.env.local

# Ruff
.ruff_cache/

# Markdown linter cache
.rumdl_cache/

# OpenSpec (local working artifacts, not tracked)
openspec/

# build
src/yohou_nixtla/_version.py

# Documentation examples
docs/examples/*/

# Auto-generated API submodule pages (created by docs/hooks.py)
docs/pages/api/

# Worktrees
.worktrees/

# AI Assistant Instructions
CLAUDE.md
CLAUDE_INSTRUCTIONS.md
.claude.md
claude-instructions.md
claude-config.md
claude-prompt.md

# GitHub Copilot
COPILOT.md
COPILOT_INSTRUCTIONS.md
.copilot.md
copilot-instructions.md
copilot-config.md
copilot-prompt.md
.github/skills
.github/prompts

# ChatGPT / OpenAI
CHATGPT.md
GPT.md
OPENAI.md
chatgpt-instructions.md
gpt-instructions.md
openai-instructions.md

# Generic AI/LLM instructions
AI.md
AI_INSTRUCTIONS.md
LLM.md
LLM_INSTRUCTIONS.md
.ai-instructions.md
.llm-instructions.md
ai-prompt.md
llm-prompt.md
assistant-instructions.md

# Custom instructions directories
.ai/
.llm/
.copilot/
ai-instructions/
llm-instructions/

# Claude Code: keep personal config (settings.local.json, etc.) private, but
# track the skills shipped by the template. Must be ".claude/*" and not
# ".claude/" -- git does not descend into an excluded directory, so a negation
# under ".claude/" would never be reached.
.claude/*
!.claude/skills/

# openspec installs its own skills. They are tool state that openspec rewrites,
# not project content, so they are never tracked -- even though the rule above
# tracks .claude/skills.
.claude/skills/openspec-*/

# The Copilot-side skills mirror .claude/skills byte for byte. Tracking both
# doubles every skill edit and its review. .claude/skills is the source of
# truth; this copy is generated alongside it and stays out of git.
.github/skills/

# Project-specific AI context (that you want to keep private)
.cursorrules
.cursor/
.aider*
.continue/
openspec/

# Pytorch-Lightning
lightning_logs/
