Introducing Bombshell
Bombshell is a growing collection of open source tools for building modern terminal interfaces in JavaScript.
Text-based experiences are having a moment, but building them still sucks.
The terminal may be old, but it’s never been more powerful. Most tools either underestimate what you can build with text or over-index on novel interfaces. What’s clear is that you shouldn’t have to hand-roll input handling, focus management, or text wrapping just to build a usable interface.
That’s why today we’re officially introducing Bombshell: a growing collection of open source tools for building modern terminal interfaces in JavaScript. Prompts, CLIs, and TUIs that look elegant, nail performance, and are fun to build.
Why Bombshell
If you’re building a CLI and don’t use JavaScript, you’re in luck. Go has charm.sh. Rust has Ratatui. Opinionated, cohesive tools that scale beyond toy examples.
That’s not the case for JavaScript.
The primitives for interactive prompts, input handling, and styling are fragmented. Interaction management remains low-level. Abstractions that offer a unified surface area come with massive install sizes. They also push mental models that don’t align with how terminal rendering actually works.
Today, CLIs are expected to hold their own against traditional visual interfaces. We need better primitives that are scoped appropriately and embrace the constraints of text-based interfaces.
Bombshell exists because those are reasonable expectations. JavaScript should meet them.
Who we are
Bombshell is being built by the open source maintainers behind projects like Astro, e18e, StudioCMS, and pkg.pr.new.
This team has maintained projects used by millions of developers; we understand long-term maintenance at scale and know when performance trade-offs actually matter.
What we’re building
Bombshell is a set of focused, composable libraries for terminal environments.
Shipping this week:
-
@clack/promptsv1 A prompt library that treats interaction as UI. Opinionated styling with a small surface area and clear behavior. -
@bomb.sh/tab(open v0) Simple shell completion bindings for JavaScript tools. Table stakes for serious CLIs. Easily integrated with your existing toolchain.
What’s next up:
-
A new TUI rendering and layout engine written in Rust. Component-driven, predictable layout and performance. No React.
-
A framework that ties all these pieces together to simplify building complex and adaptive terminal experiences.
How we’re building it
Bombshell is built in the open, with a beautifully boring governance model.
- Anyone can contribute, from code to docs to community.
- Contributors who show up consistently become maintainers.
- Maintainers with the biggest impact on project direction become core.
- Organizer exists to resolve disputes, keep us accountable, and break ties as needed.
When decisions need broader input, we’ll use a Request For Discussion (RFD) process inspired by Oxide. Proposals are written down, discussed publicly, and resolved in the open.
We bias toward clear roles and written decisions over invisible social hierarchies. Progress shouldn’t depend on proximity to a small group of core contributors.
How you can help
If Bombshell sounds useful, we need people willing to:
- Adopt Clack at their job.
- Write the docs you think we’re missing
- Join our Discord to discuss what we should build next
- (Soon) Support us financially on Open Collective
Sustainability
Bombshell has no interest in raising venture capital—that comes with growth pressure we don’t want and unrealistic expectations of the market size for terminal tools.
But CLIs remain critical infrastructure that deserve sustained investment.
This week, we’re starting with community and company sponsorship on Open Collective. Your support will buy us time to do this work properly instead of squeezing it into nights and weekends. We’re excited to keep building from here.
Stay tuned this week as we dig into new releases, fresh docs, and what’s on the roadmap in 2026.