# google/clasp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-clasp).**

5,484 stars · 490 forks · TypeScript · apache-2.0

## Links

- GitHub: https://github.com/google/clasp
- Homepage: https://developers.google.com/apps-script/guides/clasp
- awesome-repositories: https://awesome-repositories.com/repository/google-clasp.md

## Topics

`apps-script` `cli` `javascript` `typescript`

## Description

clasp is a command-line interface for managing Google Apps Script projects, enabling developers to create, sync, and deploy scripts from a local development environment. It provides an alternative to the cloud-based script editor, allowing version control, offline editing, and integration with standard development workflows.

The tool supports TypeScript transpilation, so developers can write type-annotated code that compiles to JavaScript for the Apps Script runtime. Authentication is handled via OAuth 2.0, and users can synchronize local files with remote projects using ignore patterns similar to .gitignore. clasp also manages versioned deployment snapshots, allowing scripts to be published as web apps, add-ons, or APIs with distinct identifiers.

Beyond basic project management, clasp enables CI/CD automation for linting, testing, and deploying script projects. It supports trigger-based automation across Google services, execution monitoring for running and completed functions, and development of custom spreadsheet functions and chat interfaces. Developers can build and publish add-ons for Google Workspace, manage multiple deployments, and retrieve execution logs. clasp is installed via npm and its documentation is maintained at the GitHub repository.

## Tags

### Development Tools & Productivity

- [Apps Script Management](https://awesome-repositories.com/f/development-tools-productivity/apps-script-management.md) — Ships a command-line tool to develop, sync, and deploy Google Apps Script projects from a local environment.
- [CLI Development Tools](https://awesome-repositories.com/f/development-tools-productivity/apps-script-management/cli-development-tools.md) — Provides a command-line interface for developing, syncing, and deploying Google Apps Script projects locally.
- [Deployment Managers](https://awesome-repositories.com/f/development-tools-productivity/apps-script-management/deployment-managers.md) — Provides a utility for creating versioned deployments of script projects as web apps, add-ons, or APIs.
- [Project Managers](https://awesome-repositories.com/f/development-tools-productivity/apps-script-management/project-managers.md) — Creates, downloads, and uploads script projects to Google Workspace with version control support.
- [Versioned Deployments](https://awesome-repositories.com/f/development-tools-productivity/apps-script-management/versioned-deployments.md) — Manages versioned deployment snapshots, allowing scripts to be published as web apps, add-ons, or APIs.
- [Cloud Script Project Initialization](https://awesome-repositories.com/f/development-tools-productivity/cloud-script-project-initialization.md) — Creates new script projects in a cloud editor with support for multiple types and custom settings. ([source](https://developers.google.com/apps-script/guides/clasp))
- [Remote File Synchronization](https://awesome-repositories.com/f/development-tools-productivity/remote-file-synchronization.md) — Synchronizes local files with remote script projects by comparing timestamps and transferring changes.
- [REST API Clients](https://awesome-repositories.com/f/development-tools-productivity/rest-apis/rest-api-clients.md) — Sends HTTP requests to the Apps Script API to manage project files, deployments, and executions.

### DevOps & Infrastructure

- [Google Apps Script Pipelines](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-workflows/google-apps-script-pipelines.md) — Automates linting, testing, and deployment of Google Apps Script projects within continuous integration pipelines.
- [Code File Synchronizers](https://awesome-repositories.com/f/devops-infrastructure/local-first-synchronization/code-file-synchronizers.md) — Synchronize code between a local filesystem and the remote script editor while preserving folder structure and enabling version control and offline development. ([source](https://cdn.jsdelivr.net/gh/google/clasp@master/README.md))
- [Script Project Managers](https://awesome-repositories.com/f/devops-infrastructure/project-management/script-project-managers.md) — Creates, reads, and modifies script project files and metadata through a programmatic interface. ([source](https://developers.google.com/apps-script/api/))
- [Script Deployment Managers](https://awesome-repositories.com/f/devops-infrastructure/script-deployment-managers.md) — Deploys script versions as web apps or add-ons with create, update, list, and delete operations. ([source](https://developers.google.com/apps-script/guides/clasp))
- [Google Workspace Add-ins](https://awesome-repositories.com/f/devops-infrastructure/application-deployment-tools/productivity-suite-add-ins/google-workspace-add-ins.md) — Creates apps that run inside Google Workspace to automate tasks or connect to external services. ([source](https://developers.google.com/apps-script/))

### Security & Cryptography

- [Service Account Authenticators](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/api-machine-authentication/api-key-authentication/service-account-authenticators.md) — Authorizes management of script projects by authenticating with a Google Cloud service account. ([source](https://developers.google.com/apps-script/guides/clasp))
- [OAuth 2.0 Authorization Flows](https://awesome-repositories.com/f/security-cryptography/oauth-2-0-authorization-flows.md) — Guides users through a browser-based OAuth 2.0 flow to authorize script management API access.

### Software Engineering & Architecture

- [Immutable Version Snapshots](https://awesome-repositories.com/f/software-engineering-architecture/configuration-versioning/deployment-versioners/immutable-version-snapshots.md) — Creates immutable numbered versions of script projects and publishes them as distinct deployments.
- [Script Version Snapshots](https://awesome-repositories.com/f/software-engineering-architecture/configuration-versioning/deployment-versioners/script-version-snapshots.md) — Creates immutable version snapshots of script projects for change tracking and staged release. ([source](https://cdn.jsdelivr.net/gh/google/clasp@master/README.md))
- [Remote Function Invocation](https://awesome-repositories.com/f/software-engineering-architecture/remote-function-invocation.md) — Enables invoking functions on the remote Apps Script platform via API and retrieving execution results. ([source](https://github.com/google/clasp/blob/master/docs/run.md))

### Part of an Awesome List

- [CI/CD Automation](https://awesome-repositories.com/f/awesome-lists/devops/ci-cd-automation.md) — Enables automated linting, testing, and deployment of script projects within a CI pipeline. ([source](https://developers.google.com/apps-script/guides/clasp))

### Business & Productivity Software

- [Automation Triggers](https://awesome-repositories.com/f/business-productivity-software/automation-triggers.md) — Writes code that runs across Google services when triggered by events, user actions, or schedules. ([source](https://developers.google.com/apps-script/))
- [Workspace Add-on Development](https://awesome-repositories.com/f/business-productivity-software/workspace-add-on-development.md) — Builds and publishes add-ons that run inside Google Workspace to automate tasks or connect external services.

### Programming Languages & Runtimes

- [TypeScript Transpilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-toolchains/typescript-transpilers.md) — Compiles TypeScript source files into plain JavaScript before uploading to the Apps Script runtime.
- [Apps Script Transpilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-toolchains/typescript-transpilers/apps-script-transpilers.md) — Converts TypeScript files into JavaScript for execution on the Google Apps Script runtime.
- [Spreadsheet Function Definitions](https://awesome-repositories.com/f/programming-languages-runtimes/script-function-registration/spreadsheet-function-definitions.md) — Enables writing custom spreadsheet functions that behave like built-in formulas and can be called from cells.

### Scientific & Mathematical Computing

- [Custom Formula Definitions](https://awesome-repositories.com/f/scientific-mathematical-computing/formula-evaluators/spreadsheet-formula-engines/custom-formula-definitions.md) — Writes custom spreadsheet functions that behave like built-in formulas and can be called from cells. ([source](https://developers.google.com/apps-script/))
