2 min read

Stack Log: Stack Update 0.0.1, Changing Tools, Changing Flow

Stack Log: Stack Update 0.0.1, Changing Tools, Changing Flow
Photo by Amanda Jones / Unsplash

Hey,

Just wanted to document changes happening in my dev environments so I made a different topic to record them under. This time I am moving to different tooling, different processors and in general quality of life improvements.

Tooling Changes

For a long time I have been using Git and GitHub to manage almost all of my projects personal or public ones. I'm not migrating away from this stack, but adding onto it. From the time I've been using Git and GitHub I never quite liked the effort needed to be put into a commit message, recently I came across a video on Youtube by Theo over at t3.gg about Graphite.dev about his move to Graphite.

Graphite is not a replacement for GitHub, it is more of an extension and a different dashboard. Reason for the move is better Pull Request management and reduced merge conflicts is the main plus point for me. The workflow that is created by using Stacked Diffs make dealing with merge conflicts much better experience. You can find more about stacked diffs here.

Language Runtimes & Package Managers

I’ve made some significant changes to how I manage dependencies and runtimes for my Python and Node.js projects.

For Python, I’ve switched to using uv — a new ultra-fast Python package manager and virtual environment tool built in Rust. It’s designed to be a drop-in replacement for pip, pip-tools, and virtualenv, with blazing fast performance and reproducible lockfiles. What I really like about uv is that it simplifies my setup scripts and gives me consistency across projects, without relying on tools like Poetry unless absolutely necessary. Dependency resolution is super quick, and it feels like it cuts setup time drastically. I have already moved VIPER to UV on the lates preview.

For Node.js, I’ve moved to pnpm instead of npm or yarn. The main reasons:

  • Performance — installs are way faster thanks to content-addressable storage.
  • Disk space savings — pnpm avoids duplication across projects, which is great since I spin up a lot of small test environments.
  • Strict dependency isolation — avoids some of the weirdness I’ve run into with flat node_modules directories in the past.

Well that's pretty much it for this update.

If you’ve got any tools or tweaks you swear by, feel free to reach out. Always down to refine the stack.

Till the next Stack Update 👋