# Credentials & secrets — NEVER commit
credentials.txt
creds.txt
*.session
*.json.tmp
session.json
session.json.tmp
*_session.json
*_session.json.tmp
lib_session.json

# Personal data files
lastcourse.txt
courses.json
bb-courses.json
content_discovery.json

# Cache — personal per-user state
# Caches now live in the user's home dot-dir: ~/.sustech_survival/cache/
# (outside the repo — see sustech_survival._cache). The old cwd-relative
# __sustech_cache__/ entry is kept defensively for stray copies from older
# versions, plus the legacy package-local tmp/ during migration.
__sustech_cache__/
src/sustech_survival/tmp/
_ptmp/

# Cookies — personal auth tokens (never commit)
cookies/
src/cookies/
*cookie*.txt
*cookie*.txt.tmp
bilibili_cookie.txt
bilibili_cookies_netscape.txt

# Personal info / device-specific data
personal.md
.hermes/
.DS_Store

# Lock files — libraries don't ship lock files.
# Apps depending on this lib should generate their own.
uv.lock

# Legacy UI verification artifacts (dev-only)
docs/ui-verification/

# Standalone utility scripts not part of the published package
scripts/

# Temp / build artifacts
__pycache__/
*.pyc
*.pyo
*.log
*.aux
*.out
*.pdf
*.swf
*.wav
*.mp3
*.mp4

# Committed cookie files — revoke these sessions NOW
src/cookies/cnki_cookies.json
src/cookies/rsc_cookies.json

# Personal booking data
lib/booking/user_info.json

# Build artifacts (PyPI packaging)
dist/
build/
*.egg-info/
*.egg
# ...except the Electron app icons under electron/build/ — package.json
# (build.icon / win.icon / nsis.*Icon) and main.js reference them, so they
# must be tracked for a fresh clone to build electron without regeneration.
!electron/build/
!electron/build/icon.png
!electron/build/icon.ico
!electron/build/icon-256.png
!electron/build/icon-1024.png

# MkDocs build output
site/

# Wheels
*.whl
src/sustech_survival/_version.py.bak

# Temp bilibili downloads
bili_temp/

# OS files
.DS_Store
Thumbs.db

# pyenv / version managers
.python-version

# IDE
.vscode/
*.sublime-*

# Personal data directories — keep structure, remove content
personal/
personal.md
sustech/

# Embedded repos
wewe-rss/

# Clone/backup of other skills (not this skill)
nskills/
workspace/

# Temp / scratch
tmp/
*.tmp
.cache/
booking/token.json
booking/session.json
classroom/cache/
selectcourse/cache/

# UI verification artifacts (contain real session cookies + personal data)
docs/ui-verification/cookies.json
docs/ui-verification/*/cookies.json
docs/ui-verification/*/*.html
docs/ui-verification/*/live-data.json

# Hermes plans — personal, not for public release
.hermes/

# Root-level dev tools (old pre-unified-CLI scripts)
/bb/README.md
/bb/cli.py
/bb/query.py
/docs/dir-analyzer.py

# Test-run artifacts
.pytest_cache/
pytest-cache-files-*/

# Release log lives on GitHub Releases, not in the repo. See git history until
# the first published release (2026-08).
CHANGELOG.md


# Real-network verification tests (need credentials + TIS reachability)
live_tests/

# profile.md contains PII (SID, name, phone). Never commit it — gen via
# `sustech profile` which writes to ~/.sustech_survival/profile.md by default.
# Also block the legacy cwd-default name in case someone runs the old
# gen_usr_profile path manually.
sustech_profile.md
profile.md
