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

dsh-shipgate

v0.1.1

Published

Local-first pre-merge delivery receipt generator

Downloads

597

Readme

ShipGate

ShipGate is a local-first, pre-merge receipt generator. It reads an explicit Git comparison and caller-supplied check evidence, then writes a deterministic JSON Release Receipt and portable Markdown summary. It does not execute checks, upload source code, or claim that code is correct.

Local Development

Requires Node.js 20 or newer.

cd /Users/albert.liu/Projects/dsh-delivery-gate/shipgate
npm install
npm test

Usage

Run the built CLI from the Git repository being evaluated:

node /Users/albert.liu/Projects/dsh-delivery-gate/shipgate/dist/cli.js inspect \
  --base origin/main \
  --checks checks.json \
  --intent "Add checkout validation"

The default outputs are .shipgate/receipts/<head-sha>/receipt.json and summary.md. Local mode is advisory. Add --ci to apply the project's configured failure policy.

checks.json records observed check results and is never executed:

{
  "schemaVersion": "1.0",
  "checks": [
    {
      "id": "unit-tests",
      "label": "Unit tests",
      "status": "passed",
      "command": "pnpm test",
      "exitCode": 0
    }
  ]
}

Optional .shipgate.yml configuration declares required check IDs, disabled or severity-overridden rules, CI failure conditions, and path-redaction patterns. Its detailed contract is in DESIGN.md.

GitHub Action

Action 已内置于此目录,会在用户自己的 GitHub runner 中执行,不上传源码或 Receipt。使用时必须让 actions/checkout 拉取完整历史,以便解析 merge base:

name: ShipGate

on:
  pull_request:

jobs:
  shipgate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: ./shipgate
        id: receipt
        with:
          base: ${{ github.event.pull_request.base.sha }}
          checks: checks.json
      - uses: actions/upload-artifact@v4
        with:
          name: shipgate-receipt
          path: .shipgate/receipts

Action 输出 receipt-idoutcomerisk-levelreceipt-pathsummary-path。默认会按 .shipgate.ymlpolicy.failOn 在 CI 中失败;传入 fail-in-ci: "false" 可改为建议性模式。

The product boundary and validation criteria remain in PROJECT.md.

DSH Plugin / DSH 插件

ShipGate can be mounted as a DeepSeek Harness bundle. The plugin injects the DSH tools service and registers one tool: shipgate_inspect. It accepts an explicit Git base and optional evidence/config/output paths, then reuses the same local inspect core as the CLI. It never runs a command supplied by the model and never uploads source code.

The bundle metadata is in package.json; its patch is cordis.patch.yml. Install it according to your DSH bundle workflow, then invoke shipgate_inspect with at least:

{
  "base": "origin/main",
  "checks": "checks.json",
  "ci": true
}

The tool returns the receipt ID, outcome, risk level, artifact paths, and the Markdown summary. ci: false (the default) keeps a failed policy result advisory, consistent with the CLI.