@sinsky-gh/crsp
v0.1.2
Published
crsp - The Apps Script CLI (Rust port of google/clasp)
Maintainers
Readme
crsp
Rust port of clasp — develop Apps Script projects locally from the command line.
Install
npm (recommended)
npm install -g @sinsky-gh/crspRequires Node.js 18 or later. Prebuilt binaries are included for darwin-arm64, darwin-x64, linux-x64, linux-arm64, and win32-x64.
Or run without installing:
npx @sinsky-gh/crsp --versioncargo
cargo install google-clasp-rsOr install from a checkout:
cargo install --path .Quick start
crsp login
crsp clone-script --script-id <scriptId>
crsp push
crsp pullCommands
login— Log in to script.google.comlogout— Log out of the current accountshow-authorized-user— Show the current authorization stateclone-script— Clone an existing scriptcreate-script— Create a new scriptpush— Update the remote projectpull— Fetch a remote projectcreate-deployment— Deploy a projectupdate-deployment<deploymentId>— Update a deployment to a new versiondelete-deployment— Delete a deployment of a projectdelete-script— Delete a projectcreate-version— Create an immutable version of the scriptlist-versions— List versions of a scriptlist-deployments— List deployment ids of a scriptlist-scripts— List Apps Script projectsrun-function— Run a function in your Apps Script projecttail-logs— Print the most recent log entriessetup-logs— Set up Cloud Loggingshow-file-status— List files that will be pushed by clasplist-apis— List enabled APIs for the current projectenable-api<api>— Enable a service for the current projectdisable-api<api>— Disable a service for the current projectopen-script— Open the Apps Script IDEopen-container— Open the container-bound Apps Script IDEopen-web-app— Open a deployed web app in the browseropen-logs— Open logs in the developer consoleopen-api-console— Open the API console for the current projectopen-credentials-setup— Open the credentials page for the script's GCP projectstart-mcp-server— Start an MCP server for Apps Scriptcompletion<shell>— Generate a shell completion script (bash,zsh,fish,powershell)
Shell completion
# bash
crsp completion bash > ~/.bash_completion.d/crsp
# zsh
crsp completion zsh > "${fpath[1]}/_crsp"
# fish
crsp completion fish > ~/.config/fish/completions/crsp.fish
# powershell
crsp completion powershell | Out-String | Invoke-ExpressionGlobal options
-P, --project <path>— Use a specific project directory instead of discovery-A, --auth <user>— Use a named OAuth credential-I, --ignore <glob>— Add an ignore pattern--json— Emit machine-readable JSON where supported--adc— Use Application Default Credentials--user <user>— Select the credential user
Compatibility
The local @google/clasp files (.clasp.json, .clasprc.json, appsscript.json, .claspignore) are compatible with clasp. Credentials created by clasp login (~/.clasprc.json by default) work as-is — no re-login needed; point at them with -A/--auth or clasp_config_auth if stored elsewhere. The only intentional display change is the MCP server display name: Crsp instead of Clasp.
Versioning
The crate follows Semantic Versioning. Pre-1.0 releases may include breaking changes; from 1.0, the CLI contract (command names, aliases, defaults, and exit codes) and local file formats are treated as stable.
Development
mise run fmt:check
mise run lint
mise run testRequires Rust stable (see mise.toml).
License
Apache-2.0 — see LICENSE. This project is a Rust port of google/clasp (Apache-2.0).
