A batteries-included, TypeScript-first framework powered by Bun. Build beautiful, interactive command-line tools in minutes.
import { command, flag } from "@seedcli/core"
export default command({
name: "generate",
description: "Generate a new module",
flags: {
template: flag({ type: "string", alias: "t" }),
},
run: async (seed) => {
const name = await seed.prompt.input({
message: "Module name?",
})
seed.print.success(`Created ${name}`)
},
})Stop wiring together dozens of dependencies. Seed comes packed with robust argument parsing, beautiful interactive prompts, and styling utilities designed to work together perfectly.
Seed automatically handles the boring stuff so you can focus on your tool's logic. Your users get a polished, interactive experience with zero extra effort from you.
Read full DocumentationA complete ecosystem of tools designed to work together seamlessly.
Type-safe argument parsing with full inference, automatic help generation, and validation.
Beautiful, interactive prompts for text, passwords, selects, and multi-selects.
Template engine powered by Eta — string rendering, file generation, and directory scaffolding.
Configuration loading with c12 — supports .ts, .js, .json, and .yaml files.
Safe file operations, recursive copying, and directory manipulation utilities.
“Seed CLI completely changed how we build internal tools. It’s incredibly fast and the developer experience is unmatched.”
“The out-of-the-box prompts and arg parsing saved us weeks of development time. It’s an absolute joy to use.”
“Finally, a modern CLI framework that feels like it belongs in the TypeScript ecosystem. Bun support is the cherry on top.”