Skip to content

Workflow Overview

This section describes the development workflow for gaslamp. Each page covers one step in the build, test, and release cycle.

Development Cycle

Bash
# 1. Type-check TypeScript
task build

# 2. Run tests
task test

# 3. Format and lint
task fmt
task lint

# 4. Bundle for GAS
task bundle

# 5. Push to GAS
task clasp:push:all
# or
task dev:deploy   # full deploy: validate + docs + push

Commit to the Repository

Bash
git add FILENAME
git commit   # Write a Conventional Commit message

Follow the Conventional Commits format. The version bump and changelog are generated automatically from your commit messages.

Version and Release Cycle

Bash
# 1. Preview next version bump
task bump:check

# 2. Bump version (choose one)
task bump:patch   # x.y.Z
task bump:minor   # x.Y.z
task bump:major   # X.y.z

# 3. Push tags (runs validate + docs:build + clasp:push:all internally)
task push:tags

# 4. Create GAS version snapshots
task clasp:version -- X.Y.Z

# 5. Create and publish release notes
task docs:release -- X.Y.Z
# ... edit docs/releases/X.Y.Z.md ...
task push:release -- X.Y.Z

Workflow Pages

  • Build — Type-check TypeScript with npx tsc
  • Test — Run tests with Vitest
  • Formatter — Format code with Biome
  • Linter — Lint code with Biome
  • Bundle — Bundle source for Google Apps Script
  • Push — Push to Google Apps Script via clasp
  • Docs — Build and preview documentation
  • Release — Release a new version

Resources