Safia Abdalla
banner
captainsafia.com
Safia Abdalla
@captainsafia.com
👩🏾‍💻: helping people build cloud services with oss at @microsoft.com.
✨: dream big and follow through even bigger.
📝: writing things at blog.safia.rocks
Reposted by Safia Abdalla
JavaScript & TypeScript join first class in Aspire 13 ✈️

Run Vite, Node.js, and full-stack JS apps with service discovery, built-in telemetry, and production-ready containers.

Read more 👉 devblogs.microsoft.com/aspire/aspir...

#Aspire #JavaScript #TypeScript #DevTools
Aspire for JavaScript developers
Aspire 13 brings first-class JavaScript and TypeScript support with Node.js, Vite, service discovery, observability, and production-ready Docker publishing.
devblogs.microsoft.com
January 12, 2026 at 7:48 PM
More side-project shenanigans: I'm working on hone, an integration test runner for CLI apps with a custom DSL.

I'm really interested in explicit and readable DSLs like this for testing and verification, especially in the era of agentic software dev.

🧪 : github.com/captainsafia...
January 11, 2026 at 11:57 PM
I brought a beefy Linux box a few months ago and now my standard workflow is to use my underspecced Macbook Air as a thin client for my Linux machine.

This means that I know judge every dev tool based on how good their remote host story is.

Many have disappointed... :/
January 10, 2026 at 10:24 PM
We're not starting 2026 with lingering ideas!

I *think* this blog post covering the design and evolution of the activity reporter for @aspire.dev's CLI ties the ribbon on the interesting work around Aspire Pipelines from last year.

I *think* 😅

🔗: blog.safia.rocks/2026/01/08/p...
Reporting for duty: the story of IPipelineActivityReporter
The story of how Aspire’s activity reporting API evolved from sequential progress reporting to a concurrency-aware system that powers the deployment pipeline.
blog.safia.rocks
January 8, 2026 at 5:16 PM
Pilchuck helped me release a new version of grove that lets you check out PRs into a new worktree with a `grove pr` command.

Everybody say "Good job, Pilchuck!" 🤗

🔗 : github.com/captainsafia...
January 7, 2026 at 6:12 AM
I love me some click-ops and drift
January 6, 2026 at 5:15 AM
Reposted by Safia Abdalla
9 min into our first @aspire.dev meeting of 2026 and @captainsafia.com has coined the term "dry january for code" SOMEONE MAKE THE STICKER
January 5, 2026 at 8:10 PM
I deployed Sprig to a staging instance last week.

Today is the first honest-to-good bug bash for it as I use it to catch up on all the issues I missed during winter break.

Let's see how it goes! 🌱

I dunno why I've been shy about sharing it compared to other things 😅
January 5, 2026 at 6:30 PM
Closing out the break with a binge of ST: Voyager. It’s my favorite Star Trek series and the origin story behind my “captainsafia” Internet handle 🥲
January 4, 2026 at 5:38 AM
I got tired of juggling around install scripts for my CLI projects so I deployed an install-script-as-a-service with:

* A POSIX-shell-compliant template
* Support for release, prerelease, and PR builds
* Shell-aware path export instructions

🔗 : i.captainsafia.sh
January 3, 2026 at 7:52 PM
looking up people while watching reality tv and came across this gem 😂
January 3, 2026 at 5:04 AM
If you're wondering "wow Safia's been quiet about sprig lately" don't worry it's still on my side project roster

It's just now firmly in the "find out" stage of FAFO as I deploy it to prod 😆
January 3, 2026 at 12:26 AM
burrow v1.3.0 is out ✨

Secrets now autoload per-directory (direnv-style), so the right values are always in scope and never committed.

🐰 : github.com/captainsafia...
January 2, 2026 at 10:19 PM
no fancy videos/gifs but I cut a new version of grove with support for running commands anywhere within a grove workspace and better shell integration for navigating between worktrees

github.com/captainsafia...
Release Release v1.1.0 · captainsafia/grove
Changelog Added Run grove from anywhere: Grove commands now work from any directory within a grove-managed project, automatically discovering the bare clone repository Shell integration: New shell...
github.com
December 31, 2025 at 7:11 PM
It's already the last day of the year so I'm running out of time to post my reflections on the year. 😅

I usually treat my birthday as a more personal time for new year reflections but it doesn't help to do a check-in in the middle either I guess.

blog.safia.rocks/2025/12/31/e...
Running out of 2025: a retro post
A look back at the year: blogging comebacks, principal engineer life, AI-assisted side projects, and gearing up to say goodbye to my 20s.
blog.safia.rocks
December 31, 2025 at 6:15 PM
Pro-tip: you don't need to turn off your brain when using AI.

Here's a prompt I like to use to have Claude quiz me when I'm reviewing a changeset it implemented.
December 30, 2025 at 11:04 PM
I'm kind of a fan of the fact that the Svelte interactive tutorial prevents you from copy-pasting code while you're learning about the framework.

svelte.dev/tutorial/sve...
December 30, 2025 at 6:07 PM
This was a great feature request so I ended up adding it in v1.2.0.

Also added version detection and an update command since I'll probably be pushing out more changes to this in reaction to all the feedback 😅

🔗: github.com/captainsafia...
December 30, 2025 at 12:19 AM
New idea I’m exploring: intent logs for AI agents.

“Stitches” add intentions alongside git commits so you can trace code back to the goal behind it.

I think we need a new primitive (beyond stacked diffs/commit messages) for this new way of coding.

🔗: github.com/captainsafia...
December 29, 2025 at 11:27 PM
Have you been victimized by the GitHub Release API returning unordered results?

IDK why "is this the latest prerelease?" is a nightmare to answer but I come bearing gifts: a package to make version detection on GH releases easier. 🎁

🔗: github.com/captainsafia...
December 29, 2025 at 8:56 PM
I'm currently in an extreme "Hal fixing a lightbulb" situation with my coding projects right now 😆

www.youtube.com/watch?v=AbSe...
Hal fixing a light bulb (from Malcolm in the Middle S03E06 - Health Scare)
I think this is pretty familiar for most of us. To everyone who watches this: please check out this youtube creator called nartharie . He has created some of the must absurd and funniest videos I've…
www.youtube.com
December 29, 2025 at 6:08 PM
Binge watching Star Trek: Strange New Worlds and I think my favorite ST episode tropes are:

- Simulated court case to explore a philosophical issue
- Conscious space blob does something to the Enterprise
December 29, 2025 at 4:00 AM
Fast-follow to this, I shipped a new release that adds support for a `--redact` flag to the `list` and `get` commands and a `--copy` flag to the `export` command.

github.com/captainsafia...
December 28, 2025 at 10:55 PM
Another winter break coding side quest...

I created a CLI tool called "burrow" for managing local secrets, inspired by `dotnet user-secrets`. But, it’s a standalone executable and it uses SQLite instead of JSON as the backing store.

Check it out at safia.rocks/burrow/ 🐰
December 27, 2025 at 5:09 PM
OK, I like this interaction pattern for closing issues in Sprig 😍

Hover over the state icon and it turns purple. Click and you get a dropdown with different options for closing.

I really like when UI elements have "depth" like this but IDK about discoverability here...
December 26, 2025 at 8:49 PM