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¶
- Naming Guidelines — Conventions for variables, functions, and classes
- Commit Message Guidelines — Conventional Commits format
- Design Patterns — Recurring architectural patterns