Developer CLI Toolkit
An extensible command-line tool that automates common development workflows — scaffolding, testing, and deployment.
- Rust
- TypeScript
- Node.js
- Docker
- GitHub Actions
Overview
Created an open-source CLI toolkit that standardizes development workflows across teams. It handles project scaffolding from opinionated templates, runs test suites with intelligent caching, and manages deployment pipelines — all from a single consistent interface.
The Challenge
Teams across the organization had divergent setups for bootstrapping projects, running tests, and deploying services. Onboarding a new developer meant learning each team's bespoke scripts and conventions. Inconsistency led to 'works on my machine' bugs and slow, error-prone deployments.
Approach
Built the core CLI in Rust for instant startup time and reliable cross-platform behavior. A plugin system (written in TypeScript for accessibility) allows teams to extend the base commands with project-specific workflows. Test caching uses content-addressable hashing so only affected test suites re-run, and deployment commands wrap team-specific pipelines behind a uniform interface.
Results
Adopted by 12 teams across the organization. Developer onboarding time dropped from 2 days to 4 hours. Test suite execution is 60% faster on average thanks to intelligent caching. Deployment errors decreased by 70% because the CLI enforces pre-flight checks that bespoke scripts often skipped.
Key Features
- Sub-50ms startup time with Rust core
- TypeScript plugin system for team-specific extensions
- Content-addressable test caching for incremental runs
- Project scaffolding from customizable templates
- Unified deployment interface with pre-flight validation
Lessons Learned
The plugin system's design went through three iterations. The first was too rigid (JSON config only), the second too flexible (arbitrary scripts with no contract). The sweet spot was a typed TypeScript interface that plugins implement, giving teams creative freedom within a structure that the CLI can reason about for caching, ordering, and error reporting.