Published on

I made my engineering workflow boring enough to trust

avatar for Jigar PatelJigar Patel
3 min read

I used to start most days with a clean terminal and a messy context. My rule now is simple:

no work begins until the loop is green.

This is the workflow I run for side projects, writeups, and maintenance work.

My 15-minute startup loop

  • Confirm repo identity
  • Pull latest changes
  • Run a format/lint sanity check
  • Rebuild context index
  • Open the today checklist

1) Confirm repo identity

pwd
git status --short
git remote -v

If branch or remote is unexpected, I stop. Half the weird bugs I see come from working in the wrong place.

2) Sync before edits

git fetch --prune
git pull --ff-only

I avoid merge commits for this loop unless intentionally working with someone else. Fast-forward only keeps my history predictable.

3) Sanity command baseline

npm run lint

I do it first, before I touch files. If lint fails, I fix the environment issues first so I don’t waste time later.

4) Build local context quickly

find data/blog -maxdepth 1 -name '*.mdx' -print | sort > /tmp/blog-index.txt
sed -n '1,120p' /tmp/blog-index.txt

This keeps me from duplicating topics and gives me a quick list of what already exists.

5) Working notes checklist

I use one checklist per session:

  • What am I changing and why?
  • Which file(s) are in-scope?
  • What command validates the change?
  • What is the rollback step?

That is all. No extra process theater.

Toolchain improvement I made

I added a small wrapper script for repetitive checks. Not fancy, just explicit.

#!/usr/bin/env bash
set -euo pipefail

npm run lint
git status --short
node -e "console.log('workflow-ok', new Date().toISOString())"

I run that before closing any session and whenever I switch tasks. The output tells me if I left the room in a broken state.

Learning outcomes

  • I spend less time reproducing context and more time delivering code.
  • I can trust my own starting point, especially after interruptions.
  • Small, repeatable checks catch most breakages before they become “mystery bugs.”

What to improve next

  • Add pre-commit hooks for lint + markdown check only.
  • Split the loop into startup, mid-session, and shutdown check profiles.
  • Track “time to first green check” in a simple CSV so I can tune this loop over weeks.