# ============================================================
# Qpher PQC Security Cloud — .gitignore
# ============================================================

# --- Python ---
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
dist/
build/
*.egg
.eggs/

# --- Virtual Environments ---
venv/
.venv/
env/
ENV/

# --- IDE ---
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# --- Testing ---
.coverage
.coverage.*
htmlcov/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# --- Environment / Secrets ---
.env
.env.local
.env.production
.env.production.local
.env.staging
.env.agents
# NOTE: .env.example IS tracked (template only, no real secrets)

# --- Database ---
*.db
*.sqlite3

# --- Logs ---
logs/
*.log
audit_logs/

# --- Docker ---
docker-compose.override.yml

# --- Node.js (frontend apps) ---
node_modules/
.next/
.docusaurus/
out/
.turbo/
.vercel/

# --- KMS Key Files (NEVER commit private keys) ---
kms_keys/
*.pem
*.key

# --- Gmail Agent Credentials ---
scripts/gmail-agent/token.json
scripts/gmail-agent/credentials.json

# --- OS ---
Desktop.ini

# --- Build artifacts ---
*.tar.gz
*.whl

# --- Jupyter ---
.ipynb_checkpoints/

# --- Xcode / iOS ---
xcuserdata/
*.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
DerivedData/
*.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/
*.ipa
*.dSYM.zip
*.dSYM
*.xcuserstate
# Per-agent isolated DerivedData paths (Phase 12-21 parallel work)
.build-p*/

# --- Apple Certificates (download from Apple Developer portal) ---
*.cer
*.p12
*.mobileprovision

# --- TypeScript build cache ---
tsconfig.tsbuildinfo
*.tsbuildinfo

# --- Claude Code ---
.claude/
.agents/
skills-lock.json
.vercel

# --- Generated docs / build outputs ---
docs/*.pdf
docs/*.html

# --- Dev prompts ---
# Now tracked in git so prompts can be reused across Claude sessions and
# serve as historical record of what each PR was built from.
# If you have a WIP/throwaway prompt you don't want committed, name it
# with the `.wip.md` suffix — that pattern is still ignored.
prompts/*.wip.md

# --- Marketing daily intel (auto-generated) ---
content/marketing/daily-intel/

# --- macOS Finder / iCloud duplicates ---
# e.g. "foo 2.py" appearing alongside "foo.py" — these are iCloud-sync artifacts
# that break Python imports, Alembic migration collection, and pytest discovery.
# Per CLAUDE.md Lessons Learned. .gcloudignore already protects Cloud Build
# uploads; this line also keeps them out of git commits.
* 2.*
* 3.*
