A guide for contributing to the Paperspace CLI
- Install Deno: A secure runtime for JavaScript and TypeScript
curl -fsSL https://deno.land/x/install/install.sh | sh
- Install zCLI: A CLI for creating and managing zCLI applications
curl -fsSL https://raw.githubusercontent.com/jaredLunde/zcli-cli/main/install.sh | sh
- Clone the repo and open in VSCode
git clone https://github.com/Paperspace/cli
code cli
- Install the VSCode Deno extension
- Load the Deno cache
deno task cache
Run the CLI in development mode:
deno task dev --help
Run the CLI against production environment:
deno task run --help
Add a command to the CLI:
zcli add [name]
Generate the API client types for the CLI against the development environment:
deno task generate-api
Generate the API client types for the CLI against the production environment:
deno task generate-api:prod
Compile the CLI:
deno task compile
Test a binary:
deno task compile
bin/macos-arm/pspace --help
Test the CLI:
deno task test
Generate documentation for the CLI:
deno task docs
Format the code:
deno fmt
Lint the code:
deno lint
Type-check the code:
deno check mod.ts
- zCLI - A framework for building type-safe command-line tools using Zod validators in Deno
- zCLI CLI - A command-line tool for easily creating zCLI applications and commands with Deno.
- openapi-typescript - Convert static OpenAPI schemas to TypeScript types quickly using pure Node.js. Fast, lightweight, (almost) dependency-free, and no Java/node-gyp/running OpenAPI servers necessary.
- Zod - TypeScript-first schema validation with static type inference.