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

sasacode-plugin-project-checks

v0.1.0

Published

Named project checks with permission-aware execution and bounded logs for sasacode

Readme

sasacode-plugin-project-checks

テスト・lint・型検査などを名前で実行し、PASS / FAIL、終了コード、実行時間、ログを返す sasacode プラグイン。API ^1.9.0、bash とプロジェクトで使用する検査コマンドが必要です。macOS / Linux 向け。

試す

sasacode plugin install ./plugins/project-checks --project

sasacode を再起動し、/checks で利用可能な検査を確認。「project_checks で一覧を確認し、型検査を実行して」と依頼できます。公開後は sasacode plugin install sasacode-plugin-project-checks で導入できます。

設定がなければ、起動ディレクトリの package.json から test / lint / typecheck / check / build を検出。ルート直下の lockfile で bun / pnpm / yarn / npm を選び、lockfile がなければ npm を使用します。複数のパッケージマネージャーが検出されたら明示設定を求めます。monorepo の親ディレクトリは探索しません。

設定

.sasacode/config.json またはユーザー設定に記述します。プロジェクト設定はハーネスの信頼確認の対象です。checks を指定すると自動検出を置き換えます。空の {} は検査なし。非 JavaScript プロジェクトにも使用できます。

{
  "plugins": {
    "settings": {
      "project-checks": {
        "checks": {
          "test": { "command": "bun test", "timeout": 180 },
          "types": "bun run typecheck",
          "lint": "ruff check ."
        }
      }
    }
  }
}

名前は英小文字で始まる40文字以内の英小文字・数字・ハイフン。timeout は秒、既定120、範囲1〜3600。起動時の設定で固定されるので変更後は再起動してください。

  • project_checks: コマンド一覧を読む。
  • project_check({"name":"types"}): 検査を1本実行する。並列実行は指定しない。
  • /checks: 長文表示パネルで同じ一覧を表示。検索・スクロール・コピーに対応。コマンドは実行しない。

実行の扱い

project_check は exec ツールで、permissionsAs: "bash" と実際のコマンド文字列を使います。例えば bash(bun test*) の deny / ask がそのまま適用されます。自動許可ルールは追加しません。検査スクリプトがファイルを書き換える場合もあるので、読み取り専用とは扱いません。

実行は新 API ctx.callTool("bash", ...) でホストの bash ツールへ委譲します。子ツールにも通常の引数検証・フック・権限判定が適用され、親と子の両方で確認が必要な場合はそれぞれ確認します。bash が無効なら実行できません。設定値は api.defineSettings() でも検証します。

組み込み bash は bash -c を作業ディレクトリで実行し、標準入力を閉じます。childEnv() によりハーネスの秘匿キーを除外し、中断・タイムアウトではプロセスグループを終了します。環境変数は通常の bash と同じです。CI や非 watch モードが必要なら、チェックに CI=1 bun test のように明示してください。

組み込み bash の出力制限は末尾30,000文字で、超えた分を含むログは本人専用 tmp に保存します。保持方針はハーネスに従います。bash を別プラグインで置き換えた場合、実行・ログ処理はそのツールの仕様に従います。時間には承認待ちも含みます。タイムアウト・中断・拒否・非ゼロ終了は FAIL、成功はその1回のツール結果が成功だったことを意味します。

English

Named checks for sasacode API ^1.9.0 on macOS/Linux. Auto-discovers common package.json scripts using a root lockfile, or accepts explicit checks as shown above. /checks and project_checks list commands; project_check runs one check. Commands retain the host's bash permission rules. Delegates to the registered bash tool through the host's validation, hooks, permissions and cancellation. Set CI or one-shot test flags explicitly in the configured command when needed. Reports exit status, duration and bounded output; supports cancellation and timeouts. A PASS applies only to that command and invocation. Requires the relevant project tools to be installed; does not install dependencies.

Apache-2.0.