Agent Scripts — エージェント用スクリプト共有
概要
agent-scripts は、開発者や自動化エージェントが安全かつ一貫してコマンドを実行できるように作られたスクリプト集です。元は Sweetistics リポジトリ内のユーティリティで、2025-11-08 時点の内容がそのままコピーされています。コアは Bash のエントリポイント(runner)と Bun 上で動く TypeScript 実装(scripts/runner.ts)で、実行タイムアウトの階層設定、git/rm/find といった「危険な」コマンドの検出・介入、自動処理やプロンプトによる安全策を提供します。他リポジトリへ切り出して共通運用できるよう整理された小規模ツールセットです。
リポジトリの統計情報
- スター数: 19
- フォーク数: 2
- ウォッチャー数: 19
- コミット数: 8
- ファイル数: 6
- メインの言語: TypeScript
主な特徴
- Bun と TypeScript をランナーに用いることで、ランタイム一貫性と型安全性を両立
- 実行タイムアウトの「階層(ティア)」を設定して長時間実行を制御
- git / rm / find などの危険コマンドを検出して自動ブロックや確認プロンプトを挿入
- 他リポジトリで再利用しやすいように切り出された軽量構成
技術的なポイント
agent-scripts の技術的要点は「ランナー層」と「ガードレール(安全策)」の二軸に集約できます。まずランナー層は、Bash のシェルラッパー(bin/runner 相当)から必ず Bun を経由して scripts/runner.ts を起動する設計です。これによりシェル側の呼び出しを TypeScript 実装へ一元化でき、引数処理やログ出力、エラーハンドリングを統一できます。TypeScript を採用することで、コマンド引数や設定の型定義、IDE の補完を活かした開発が可能になります。
ガードレール面では、実行前にコマンド解析を行い、危険度の高い操作(たとえば rm -rf やワイルドカードを伴う find、意図せぬ git 操作)を検出します。検出時には即時ブロック、対話的確認、あるいは安全な代替処理への変換(自動的な保護処理)を行う実装が意図されています。また「タイムアウト階層」は実行時間に応じたポリシー適用を可能にし、短時間バッチ・インタラクティブ操作・長時間ジョブで異なる制限を設定できるため、CI/CD やローカル開発の両方で有効です。
さらに設計面の利点として、このリポジトリは小規模で依存が少なく、他プロジェクトへ容易にコピー&ペーストできる点があります。README にある通り、元の Sweetistics ディレクトリからの「そのままコピー」で運用されることを前提にしており、オンボーディング時にガードレールを手早く導入したいチームに向いています。Bun をランタイムに選んでいるため、高速起動や軽量なバンドル恩恵を受けられる一方で、Bun に関する環境依存や互換性の注意は必要です。
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- bin: dir
- git: file
- runner: file
…他 1 ファイル
まとめ
小規模だが実用的なランナー&ガードレール群で、迅速に安全策を導入できる。
リポジトリ情報:
- 名前: agent-scripts
- 説明: Scripts for agents, shared between my repositories.
- スター数: 19
- 言語: TypeScript
- URL: https://github.com/steipete/agent-scripts
- オーナー: steipete
- アバター: https://avatars.githubusercontent.com/u/58493?v=4
READMEの抜粋:
Agent Scripts
This folder collects the Sweetistics guardrail helpers so they are easy to reuse in other repos or share during onboarding. Everything here is copied verbatim from /Users/steipete/Projects/sweetistics on 2025-11-08 unless otherwise noted.
Runner Shim (runner, scripts/runner.ts)
- What it is:
runneris the Bash entry point that forces commands through Bun andscripts/runner.ts. The Bun runner enforces timeout tiers, intercepts risky commands (git/rm/find), auto-…