Skip to content

gambonny/fastwire

Repository files navigation

Fastwire

Biome (lint + format)

A lean monorepo starter powered by pnpm. Minimal config, strict version control, fast workflows.

Features

  • ✅ Zero-runtime monorepo setup
  • ✅ Enforces centralized dependency control via pnpm catalogs (catalogMode: "strict")
  • ✅ Volta-pinned Node and pnpm versions
  • ✅ Biome for linting and formatting
  • ✅ TypeScript with strict, modern config
  • ✅ Vitest (projects) for testing and coverage
  • ✅ Lefthook for fast pre-commit checks
  • ✅ Ready for shared packages in packages/*

Tooling

Fastwire uses:

  • Volta to pin Node and pnpm versions across all contributors
  • Biome for fast, all-in-one formatting and linting
  • TypeScript with a strict base config and modern features
  • Vitest for fast, isolated testing and unified coverage reporting
  • Lefthook to run local Git hooks like format, lint, or test before committing

ℹ️ pnpm support in Volta is experimental — follow these instructions to enable it properly on your system.

Getting Started

# 1. Install Volta (if not already installed)
curl https://get.volta.sh | bash

# 2. Restart your shell and install the pinned toolchain manually
volta install node@22.17.1 pnpm@10.13.1

# 3. Install workspace dependencies
pnpm install

Scripts

- pnpm check         # Run Biome across all files
- pnpm format        # Auto-format all source files using Biome
- pnpm test          # Run Vitest across all packages
- pnpm coverage      # Generate unified coverage report from root

📌 Code coverage is only configured at the workspace root. All tests from all packages are included in a single report.

Project Structure

- pnpm-workspace.yaml    # Workspace & catalog config
- package.json           # Volta + workspace metadata
- packages/              # Place your shared packages here
- tsconfig.base.json     # Shared strict TypeScript configuration
- biome.json             # Biome config (lint + format)
- vitest.config.ts       # Root testing and coverage config
- lefthook.yml           # Lefthook hook configuration

GitHub Workflows

Fastwire comes with two preconfigured GitHub Actions workflows:

  • Biome (lint + format) Lints and formats the entire codebase using Biome on every push and pull request. → .github/workflows/biome_ci.yml

  • Test (Vitest) Runs all tests across the monorepo on every push and pull request.

    📌 This runs all tests indiscriminately, regardless of which packages were changed. This can be optimized later by using filtered package execution. → .github/workflows/test.yml

About

Lean monorepo starter for fast, consistent project setups with pnpm.

Resources

Stars

Watchers

Forks

Packages

No packages published