Skip to content

frizzyondabeat/volt-fast

Repository files navigation

Volt Fast logo

A fast interactive CLI to scaffold frontend tooling and starter config files into an existing project.

WebsiteDocumentation

npm version npm downloads node >=18 license ISC

Table of Contents

Features

  • Detects project context (Next.js, Vite, TypeScript)
  • Installs selected tooling dependencies using your detected package manager
  • Generates ready-to-use config files for:
    • Tailwind CSS
    • Prettier
    • ESLint (v9 flat config)
    • Husky git hooks (pre-commit, pre-push, commit-msg)
    • Commitlint
  • Optionally initializes Shadcn UI with alias configuration
  • Scaffolds a test runner (Vitest or Jest) following the official framework guides
  • Non-interactive --yes mode for CI pipelines
  • --dry-run mode to preview all changes before writing

Requirements

  • Node.js 18+ (Node.js 22 recommended)
  • npm, pnpm, yarn, or bun

Quick Start

Run without global install:

pnpx @frizzyondabeat/volt-fast setup

You can also use:

npx @frizzyondabeat/volt-fast setup

Or install globally:

npm i -g @frizzyondabeat/volt-fast
volt-fast setup

Commands

volt-fast setup [projectdir]

Installs and configures frontend tooling into an existing project.

  • projectdir is optional — if omitted, the CLI prompts for the target directory
  • Prompts you to select from: Tailwind CSS, ESLint, Prettier, Husky, Commitlint, Shadcn UI
  • Detects your package manager and installs all required dependencies
  • Writes config files based on your selections and detected project type

Flow:

  1. Choose target project directory
  2. Select tools to configure
  3. For Husky: choose which hooks to enable (pre-commit lint, pre-push typecheck, commitlint)
  4. For Tailwind: optionally specify the CSS entry file path
  5. Choose a filename convention (kebab-case, camelCase, PascalCase)
  6. CLI installs packages and writes all config files
  7. For Shadcn: patches tsconfig.json paths + vite.config, then runs shadcn@latest init

volt-fast test [projectdir]

Scaffolds a test runner into an existing project, following the official framework guides.

  • projectdir is optional — if omitted, the CLI prompts for the target directory
  • Auto-detects your framework (Next.js → Vite → generic Node)
  • Prompts you to choose Vitest or Jest
  • Aborts without overwriting if a runner config already exists

What it sets up by framework and runner:

Framework Runner Config written
Next.js Vitest vitest.config.ts
Next.js Jest jest.config.ts + jest.setup.ts
Vite Vitest vitest.config.ts
Vite Jest jest.config.ts + jest.setup.ts
Generic Vitest vitest.config.ts
Generic Jest jest.config.ts + jest.setup.ts

In all cases it also writes __tests__/example.test.tsx and adds test / test:watch / test:coverage scripts to package.json.

Flow:

  1. Choose target project directory
  2. CLI detects framework automatically
  3. Choose Vitest or Jest
  4. CLI installs all required dependencies
  5. Config file, optional setup file, and example test are written
  6. package.json scripts are updated

What It Generates

setup

File Tool
eslint.config.mjs ESLint (v9 flat config)
prettier.config.mjs Prettier
tailwind.css (or custom path) Tailwind CSS
.husky/pre-commit Husky
.husky/pre-push Husky
.husky/commit-msg Husky + Commitlint (when both selected)
commitlint.config.mjs Commitlint
tsconfig.json path aliases Shadcn UI
vite.config.ts / vite.config.js patched Shadcn UI (Vite projects)

test

File Notes
vitest.config.ts or jest.config.ts Runner config
jest.setup.ts Jest only
__tests__/example.test.tsx Starter test file
package.json scripts test, test:watch, test:coverage added

Flags

Both setup and test support the following flags:

Flag Description
--yes Non-interactive mode; skips all prompts and uses defaults (all tools, Vitest, kebab-case)
--tools <csv> Comma-separated list of tools to configure, used with --yes (e.g. --tools eslint,prettier,husky)
--dry-run Runs the full pipeline but writes no files and executes no commands

License

ISC

About

a CLI tool for initial project setups and configurations including essential hooks and scripts

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors