Skip to content

Conceptual Guides

This section explains the philosophy and concepts behind gaslamp's design. If you're extending or maintaining the library, read these guides to understand why things were built this way, not just how to use them.

Design Philosophy

gaslamp solves a core tension: Google Apps Script is simple but fragile. It's easy to write scripts, hard to write them correctly at scale.

Standard GAS code:

  • Works with messy, unpredictable data (is this a string or a Date?)
  • Uses manual loops and error-prone transformations
  • Lacks type safety and validation
  • Breaks silently when assumptions change

gaslamp's approach:

  • Separate concerns: Raw data at the boundary, normalized data inside
  • Use the right shape: Different data orientations for different tasks
  • Build safely: Expressions, schemas, and validation to catch errors early
  • Keep it simple: Pure functions, no hidden state, easy to extend

Each guide explores one piece of this philosophy. Read them to understand the "why" so you can extend or improve the library with confidence.

Guides

Start with BareFrame-First Design to understand the root principle. Then explore the rest in order.