npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

shipgate

v2.1.0

Published

ShipGate — Stop AI from shipping fake features. Define what your code should do. We enforce it.

Downloads

701

Readme

Shipgate CLI v2.1.0

npm version License: MIT Downloads

ShipGate — Stop AI from shipping fake features. Define what your code should do. We enforce it.

The Shipgate CLI is your command-line gateway to Intent Specification Language (ISL) — a formal language for specifying what your code must do. With ISL, you can define behavioral contracts, generate code, and verify that AI-generated implementations match your intentions.

🚀 Quick Start

Installation

# Install globally (recommended)
npm install -g shipgate

# Or use npx (no installation required)
npx shipgate <command>

# Verify installation
shipgate --version

Your First Project

# Initialize a new project
npx shipgate init my-api
cd my-api

# Check the generated spec
npx shipgate check src/*.isl

# Generate TypeScript code
npx shipgate generate --target typescript src/

# Verify implementation
npx shipgate verify src/my-api.isl --impl ./src

📋 Commands Overview

| Command | Purpose | Key Features | |---------|---------|--------------| | init | Create new ISL project | Auto-configuration, templates | | check | Parse & validate ISL files | Type checking, syntax validation | | generate | Code from ISL specs | TypeScript, Python, Rust, Go, OpenAPI | | verify | Verify implementation | Behavioral verification, evidence | | gate | SHIP/NO-SHIP decision | CI integration, trust scoring | | parse | Inspect ISL AST | Debug specifications | | repl | Interactive ISL shell | Explore ISL interactively |

🛠️ Detailed Command Reference

shipgate init [name]

Initialize a new ISL project with recommended structure and configuration.

# Initialize in current directory
npx shipgate init

# Create new project directory
npx shipgate init my-project
cd my-project

# Skip prompts (use defaults)
npx shipgate init -y

# Overwrite existing config
npx shipgate init --force

Creates:

my-project/
├── src/
│   └── my-project.isl     # Example specification
├── generated/             # Code output directory
├── isl.config.json        # Project configuration
├── package.json           # Node.js project setup
└── README.md              # Project documentation

shipgate check <files...>

Parse and type-check ISL files with comprehensive error reporting.

# Check all ISL files
npx shipgate check src/**/*.isl

# Strict mode (warnings become errors)
npx shipgate check --strict src/

# JSON output for CI
npx shipgate check --format json src/ > results.json

# Quiet mode (minimal output)
npx shipgate check --quiet src/

Options:

  • --strict - Enable strict mode (all warnings become errors)
  • --format <format> - Output format: pretty, json, quiet
  • --config <path> - Custom config file path

Exit Codes:

  • 0 - All checks passed
  • 1 - Errors found

shipgate generate <files...>

Generate production-ready code from ISL specifications.

# Generate TypeScript
npx shipgate generate --target typescript src/

# Generate Python with custom output
npx shipgate generate --target python --output src/generated src/

# Generate OpenAPI spec
npx shipgate generate --target openapi src/api.isl

# Generate Rust types
npx shipgate generate --target rust --output src/types src/

Supported Targets:

  • typescript - TypeScript types and interfaces
  • python - Python dataclasses and type hints
  • rust - Rust structs and enums
  • go - Go structs and interfaces
  • openapi - OpenAPI 3.0 specifications
  • graphql - GraphQL schemas

Options:

  • --target, -t - Target language (required)
  • --output, -o - Output directory (default: generated/)
  • --config, -c - Config file path
  • --watch - Watch for changes and regenerate

shipgate verify <files...>

Verify implementation against ISL specifications.

npx shipgate verify specs/critical-flow.isl --impl ./src

shipgate parse <file>

Parse an ISL file and display the AST.

npx shipgate parse specs/example.isl

shipgate gate <files...>

Run the ShipGate (SHIP/NO-SHIP gate) on ISL files.

npx shipgate gate specs/
npx shipgate gate --ci --output json

shipgate proof badge <bundle-path>

Generate a badge (SVG or URL) from a proof bundle for display in README or CI.

# Generate SVG badge
npx shipgate proof badge ./proof-bundle -o badge.svg

# Generate badge URL
npx shipgate proof badge ./proof-bundle --format url --bundle-url https://example.com/bundle

# With custom badge service
npx shipgate proof badge ./proof-bundle --format url --badge-url-base https://badges.example.com

The badge displays the proof verdict (PROVEN, INCOMPLETE, VIOLATED, UNPROVEN) with color coding:

  • 🟢 PROVEN - Green badge
  • 🟡 INCOMPLETE_PROOF - Yellow badge
  • 🔴 VIOLATED - Red badge
  • UNPROVEN - Grey badge

shipgate proof attest <bundle-path>

Generate SLSA-style attestation JSON from a proof bundle for supply chain security.

# Output to stdout
npx shipgate proof attest ./proof-bundle

# Save to file
npx shipgate proof attest ./proof-bundle -o attestation.json

# Include full manifest
npx shipgate proof attest ./proof-bundle --include-manifest -o attestation.json

The attestation includes:

  • Verdict and reason
  • Spec information (domain, version, hash)
  • Gate, build, and test results
  • Toolchain versions
  • Bundle fingerprint

shipgate proof comment <bundle-path>

Generate GitHub PR comment from a proof bundle.

# Output to stdout (for GitHub Actions)
npx shipgate proof comment ./proof-bundle

# Save to file
npx shipgate proof comment ./proof-bundle -o pr-comment.md

The comment includes:

  • Verdict summary with emoji indicators
  • Phase-by-phase breakdown (Gate, Build, Tests, Verify)
  • Spec and toolchain information
  • Bundle ID and generation timestamp

shipgate repl

Start an interactive REPL for exploring ISL.

npx shipgate repl

Configuration

The init command creates isl.config.json in your project root:

{
  "defaultTarget": "typescript",
  "strictMode": true,
  "outputDir": "./generated",
  "include": ["src/**/*.isl"],
  "exclude": ["src/drafts/**"],
  "output": {
    "types": true,
    "tests": true,
    "docs": false
  }
}

Environment Variables

  • ISL_CONFIG - Path to config file
  • ISL_DEBUG - Enable debug output
  • ISL_NO_COLOR - Disable colored output
  • ANTHROPIC_API_KEY - API key for AI-enhanced features (optional)

Examples

Initialize a project

# In current directory
npx shipgate init

# Or create a new folder
npx shipgate init my-project

This creates:

  • src/my-project.isl - Example ISL specification
  • isl.config.json - Configuration file
  • package.json - Node.js project file

Check ISL files

npx shipgate check src/*.isl

Generate TypeScript types

npx shipgate generate --target typescript src/

Documentation

  • Full documentation: https://shipgate.dev/docs
  • GitHub: https://github.com/guardiavault-oss/ISL-LANG

License

MIT