I work on a lot of projects, and I’m trying to find ways to improve how I organize my repo structures. Curious to know how others handle it in different contexts.
Here’s a bit about my setup:
-
Academic projects: These are the simplest. I usually set up one repo per paper, along with some infrastructure projects (like packages and datasets) that are kept in separate repos.
-
Consulting: This one’s trickier since it’s often a side project with various components. A typical project includes datasets, code prototypes (mostly Python and R), exploratory work (notebooks), deliverables (like notebooks or quarto docs), plus meeting notes, timesheets, and other internal documents. Some projects span multiple years and involve several devcontainer setups, occasionally with newer package versions over time.
I’ve been using smaller repos, but it gets challenging to manage them all and keep track of where things are. I know some folks use monorepos, though I haven’t tried that approach yet.
For context, I work mainly in VS Code and devcontainers, which helps with portability across computers.