File & Folder Setup

File & Folder Setup

My setup has two parts: a local project folder tracked by GitHub, and a data folder in Dropbox linked into that project via a symlink. The agent only ever touches the Git-backed folder — data stays in Dropbox and is never committed.


1. Clone an existing GitHub repo locally

git clone https://github.com/your-username/your-repo.git
cd your-repo

If you want it in a specific location:

git clone https://github.com/your-username/your-repo.git ~/Projects/your-repo

Set your Git identity (first time only)

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Drop --global to set it only for the current repo.


The symlink lives inside your project folder but points to wherever your data actually is.

ln -s ~/Dropbox/your-data-folder ~/Projects/your-repo/data

data now appears inside your project but Git ignores it entirely — see Step 3.


3. Set up .gitignore

Download the template below and save it as .gitignore in your repo root. It covers symlinked data folders, macOS and Windows system files, LaTeX auxiliary files, and Python virtual environments.

Download .gitignore template

Or generate it manually:

curl -o .gitignore https://irisazhou.github.io/assets/downloads/sample-gitignore.txt

What it ignores:

  • data/, auxiliary/ — symlinked or local folders you never want committed
  • .DS_Store, ._*, Thumbs.db, Desktop.ini — OS clutter
  • *.aux, *.log, *.bbl, *.synctex.gz, … — LaTeX build artifacts
  • __pycache__/, venv/, .venv/, .ipynb_checkpoints/ — Python environments and notebooks

The result

your-repo/
├── code/
├── output/
├── data -> ~/Dropbox/your-data-folder   ← symlink, not tracked
└── .gitignore

The agent sees data/ as a normal folder. Git ignores it entirely.