gitmyhub

groot

TypeScript ★ 1 updated 1d ago

🌱 Plant a bun-first Turborepo and grow it — web, mobile, API and Convex backend from one command.

A CLI that scaffolds a full monorepo, wiring together official generators for a web app, mobile app, API, and backend in one command.

TypeScriptBunTurborepoNext.jsConvexsetup: easycomplexity 2/5

groot is a command line tool that sets up a full multi-app project for you in one step, using a monorepo style called Turborepo, where several related apps and packages live together in one repository. Instead of building its own templates from scratch, groot calls the official setup tool for each framework you choose, such as Next.js for a web app or Expo for a mobile app, and then wires the results together so they share configuration, dependencies, and a single install step.

When you run it, groot asks you a short series of questions: which web framework you want, whether you need a mobile app, a desktop app, an API layer, and a backend service. Based on your answers it plants the base project structure, then generates each chosen piece using that framework's own official generator, and finally connects everything together with shared settings, non conflicting development ports, and one combined lockfile for dependencies. The whole process can also run non interactively with command line flags, which is useful for automated scripts or AI coding agents.

Beyond the initial setup, groot has a command to add another piece to an existing project later, such as adding an API after the fact, and a health check command that looks for common problems like port conflicts or mismatched configuration files and suggests fixes.

The project positions itself against a similar official tool that only sets up a smaller, generic starting point. groot is meant for cases where you already know you want several specific pieces working together from day one, such as a web app, a mobile app, and a backend, all wired up consistently rather than assembled by hand afterward.

Everything is built to run on Bun, a fast JavaScript runtime, and the tool itself is written in TypeScript. It reached a stable first major version, meaning its command names, flags, and output formats are meant to stay consistent going forward. It is open source under the MIT license and welcomes contributions, particularly support for additional frameworks.

Where it fits