Skip to content

Workflow Tips

These are the workflows I've leaned on for my CEL projects — editing, syncing to Scribe, keeping data safe, reproducible pipelines. None of it is lab policy, just what's worked for me; take what's useful and leave the rest.

Start with the workflow overview

If you read one page, read The recommended workflow — the end-to-end picture (edit locally → sync to Scribe → run in batch) that the other pages fill in. It's the fastest way to see how I work and decide what's worth adopting.

The workflow, end to end

  • The recommended workflow — the overview that ties everything together: where you write code, how it gets to Scribe, and how it runs.
  • Editing Stata in VSCode — write .do files locally in a real editor (VSCode) rather than in the server's Stata GUI editor — you get git history and your editing doesn't hang on the connection.
  • Version control using git — what version control is and why (one file, full history — no more _FINAL_v2), the handful of commands, and the optional GitHub bits. Usable locally on its own.
  • Local ↔ server sync — the two ways to move code between laptop and Scribe (FileZilla vs git), with the benefits and costs of each.
  • Working on Scribe — getting an account, connecting, running Stata (batch vs GUI), and keeping jobs alive with screen.
  • Stata GUI on Windows — illustrated Xming + PuTTY walkthrough for running the Stata GUI from a Windows machine.

Keeping data safe

  • Data safety — keeping confidential student data on Scribe and out of GitHub, and how the repos enforce it.
  • gitignore setup for data security — the concrete .gitignore, how to verify nothing leaked, and what to do if data was committed by accident.
  • Versioning data with DVC — an optional power tool to version the data too, not just code — keeping every byte on Scribe. The two-push rhythm, the on-Scribe remote rule, and the guard scripts.

Reference

  • Reproducible pipelines — the do/main.do + settings.do pattern, pinning inputs, and automated checks.
  • Claude Code intro — what the .claude/ folders and CLAUDE.md files are, and whether you need them (you don't, to run the analysis).

Status: actively filled in

Several pages started as outlines distilled from my va_consolidated handoff. A few sections still marked TODO flag something I haven't finished yet (e.g. a stub README to expand, or a lab-policy detail to confirm). The workflow advice itself reflects how I actually work.

The one rule worth memorizing

Code lives on GitHub. Confidential data lives only on Scribe. The two never mix.

Everything else in these guides supports that separation.