Sometimes the most important engineering work isn't about shipping new features—it's about making sure the tools we use every day actually work for everyone on the team.
The Problem
We use Husky to manage Git hooks in the Sabine repository—specifically pre-commit hooks that run automated checks before code gets committed. These hooks are crucial for maintaining code quality: they run linters, formatters, and tests to catch issues early.
The issue? Our pre-commit hook script was missing a shebang line. On Unix-based systems (macOS and Linux), Git could usually figure out how to execute the script anyway. But on Windows, the absence of that first line—the one that tells the system which interpreter to use—caused the hook to fail silently or throw cryptic errors.
For developers on Windows, this meant commits would either bypass our quality checks entirely or fail with confusing error messages. Neither outcome is acceptable when you're building a platform that prides itself on intelligent automation.
The Fix
The solution was straightforward: add a proper shebang line to the top of our Husky pre-commit hook. This tells Git—and the underlying shell environment—exactly how to execute the script, regardless of operating system.
It's a one-line change, but it has outsized impact. Now when a developer on Windows runs 'git commit', the hook executes correctly, running the same quality checks that macOS and Linux developers have been benefiting from all along.
Why It Matters
Developer experience isn't just about fancy tooling or productivity shortcuts. It's about ensuring that every member of the team—regardless of their operating system, editor, or environment—has access to the same level of support and automation.
When Git hooks fail silently on some systems, it creates inconsistency. Code that should have been caught and fixed before commit makes it into the repository. That means more time spent in code review catching formatting issues, more CI/CD build failures, and more friction in the development process.
This fix ensures that our automated quality gates work for everyone. It's the kind of infrastructure work that doesn't ship a feature, but makes every feature we do ship better.
What's Next
This fix is live in the Sabine repository as of commit 3b82568. If you're a contributor, you don't need to do anything—just pull the latest changes and your pre-commit hooks will work correctly on Windows.
Looking ahead, we're reviewing our other tooling and setup scripts to identify similar cross-platform compatibility issues. The goal is to make sure that whether you're developing on Windows, macOS, or Linux, your experience with Sabine—and the broader Strug City platform—is seamless and fully supported.
Small fixes like this one add up. They're part of our commitment to building not just intelligent software, but inclusive development environments where every contributor can do their best work.