Gro screenshot

Gro

Author Avatar Theme by Ryanatkn
Updated: 16 Jan 2026
19 Stars

task runner and toolkit extending SvelteKit generate, run, optimize

Categories

Overview:

Gro is a task runner and toolkit that extends SvelteKit, Vite, and esbuild for developing web frontends, servers, and libraries. It provides a task runner, common tasks, and tools for developing, building, testing, deploying, and publishing SvelteKit frontends, Node servers, and libraries. It also includes integrated TypeScript, Svelte, and SvelteKit for easier development. Gro offers configurable plugins, support for importing TypeScript, JSON, and SSR’d Svelte files, and supports SvelteKit module imports for tasks, tests, Node servers, and other code outside of the SvelteKit frontend. It also supports testing with uvu, code generation with gen, and automatic type generation using JSON Schema.

Features:

  • Task Runner: Gro provides a task runner that uses the filesystem convention *.task.ts. It discovers and runs TypeScript modules with the .task. subextension.
  • Builtin Tasks: Gro includes lots of common builtin tasks that users can easily override and compose.
  • Development Tools: Gro offers tools and patterns for developing, building, testing, deploying, and publishing SvelteKit frontends, Node servers, and libraries.
  • Integrated TypeScript, Svelte, and SvelteKit: Gro integrates with TypeScript, Svelte, and SvelteKit for easier development.
  • Configurable Plugins: Gro provides configurable plugins to support SvelteKit, auto-restarting Node servers, and other external build processes.
  • Support for Importing TypeScript, JSON, and SSR’d Svelte Files: Gro supports importing TypeScript, JSON, and SSR’d Svelte files in tests and tasks.
  • SvelteKit Module Imports: Gro supports SvelteKit module imports for $lib, $env, and $app in tasks, tests, Node servers, and other code outside of the SvelteKit frontend.
  • Automatic Type Generation: Gro supports automatic type generation using JSON Schema and json-schema-to-typescript.
  • Linting with ESLint: Gro supports linting with ESLint.
  • Formatting with Prettier: Gro supports formatting with Prettier.
  • Documentation: Gro provides documentation for developing web frontends, servers, and libraries.
  • Task Index: Gro generates a task index with all the available tasks.
  • Testing with uvu: Gro supports testing with uvu.
  • Code Generation with gen: Gro supports code generation with gen.

Installation:

To install Gro, you can use npm. Make sure you have Node version 20.7 or higher.

npm i -D @grogarden/gro

It’s also recommended to install Gro globally for convenience.

npm install -g @grogarden/gro

Summary:

Gro is a powerful task runner and toolkit that extends SvelteKit, Vite, and esbuild for developing web frontends, servers, and libraries. It provides a wide range of features such as a task runner, common tasks, tools for development, testing, deploying, and publishing, and integrated support for TypeScript, Svelte, and SvelteKit. Gro also supports importing TypeScript, JSON, and SSR’d Svelte files, configurable plugins, automatic type generation, linting, formatting, and provides comprehensive documentation. With Gro, developers can streamline their development workflow and build robust web applications and libraries.