Purpose
Enable local development, version control, and deployment workflows for Google Apps Script projects.
Current state
Last touched: 2025-10-14. Functionality and completeness: Full CLI for local Apps Script development; repository mirrors upstream.
Next step
Add baseline automated tests to cover critical flows; Add CI pipeline for build/test/lint; Document deployment/runtime environment (or add Dockerfile); Document interfaces (CLI flags, API endpoints, file formats); Add structured logging and basic health checks.
Interfaces
Inputs- .clasp.json project config, ~/.clasprc.json credentials, Apps Script API
Outputs- Local project files, remote Apps Script project updates, deployment metadata
- .json
Reality to Action trace
Reality IngestionContributes in this stage.
Canonical StorageContributes in this stage.
Automation EnginesNot in scope.
Human InterfacesContributes in this stage.
Operational AdoptionContributes in this stage.
Core workflow
TBD. Document the 5-10 steps that define the core workflow.
Artifacts
- Apps Script API schemas and project manifest formats
Operational notes
Constraints and scars
- Requires Apps Script API access and is subject to Google quota limits.
Reliability posture
Failure modes and safe behavior: OAuth or API failures abort sync; local files remain unchanged. Idempotency / retries / batching behavior: Re-running push/pull is idempotent for identical content.
Observability
- Logs: CLI output and Apps Script execution logs
- Metrics/health checks: None documented
- Logs: CLI output to stdout; Apps Script execution logs accessible via the API.
Security and privacy
Use OAuth credentials and protect local credential files; use organization-managed OAuth clients when required.
Dependencies
Upstream- Google Apps Script API, Google Drive APIs
Ownership
OwnersJosh Barton
UsersJosh Barton (owner)
clasp
Architecture & Major Components
High-level diagram (text):
- Entry/trigger -> core logic -> outputs (details per docs below)
Entry/trigger
→core logic
→outputs
CLI commands map to core services that wrap Google Apps Script APIs.
Project-specific settings live in .clasp.json; user credentials live in ~/.clasprc.json.
Codebase is asynchronous and uses a command/core separation pattern.
Entry points: src/index.ts
Top-level folders: .github, .vscode, docs, src, test
src/ submodules: auth, commands, core, mcp
Key abstractions: command handlers, API clients, project file sync
Setup / Build / Run
- Build system(s): npm.
- Install Node dependencies and authenticate with Google Apps Script APIs before syncing projects.