# Research project .gitignore # Copy to your project as `.gitignore`. See ../pages/04-project-layout.md. # --- Data: never in git --- data/raw/* data/processed/* data/generated/* *.nii *.nii.gz *.dcm *.edf *.bdf *.fif *.nc *.h5 *.mat *.pkl # Keep the directory structure, though, so a fresh clone has somewhere to put things. !data/raw/.gitkeep !data/processed/.gitkeep !data/generated/.gitkeep # --- Anything identifiable, belt and braces (see ../pages/13-data-and-ethics.md) --- *participant_key* *consent* *identifiable* *_PII* screening/ recruitment/ # --- Results: regenerate them, do not version them --- results/ scratch/ logs/ .snakemake/ # Review any outputs before deliberately adding them to a repository. # Internal tutorial outputs stay private. # --- Environments --- .venv/ venv/ __pycache__/ *.py[cod] .ipynb_checkpoints/ .pytest_cache/ .ruff_cache/ .mypy_cache/ # uv.lock IS committed. Do not add it here. # --- Notebooks --- # Review notebook code and outputs; see ../pages/09-notebooks-and-figures.md. # Decide whether to strip outputs or pair with a text file before committing. # --- Editor / OS --- .DS_Store Thumbs.db desktop.ini .idea/ .vscode/ *.swp # --- Secrets --- .env .env.* *.pem *.key credentials.json token.json # --- Claude Code --- # CLAUDE.md IS committed — it is lab knowledge (../pages/05-claude-md.md). # Local settings and session state are not. .claude/settings.local.json .claude/history/