GitHub Hot Board

GitHub Hot Board · リポジトリアーカイブ

DietrichGebert/ponytail

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote. (説明はリポジトリ自身のドキュメント由来です。)

データ時点 October 23DietrichGebert

最高順位

#4

総合 · 歴代最強 · JavaScript

174K

累計スター

9.5K

フォーク数

2

直近 30 日のランクイン日数

プロジェクト文書

Ponytail、怠け者のシニア開発者

Ponytail

彼は何も言わない。一行だけ書く。それで動く。

DietrichGebert%2Fponytail | Trendshift

Stars Release npm Works with 20 agents MIT license

DietrichGebert/ponytail | Trendshift DietrichGebert/ponytail | Trendshift DietrichGebert%2Fponytail | Trendshift monthly ranking

Ponytail 5、ゼロから作り直した:コード -53%、時間 -41%、コスト -26%、トークン -45%。それでもリスクのあるロジックの 98% にテストが付く。Ponytail なしでは 68%。

Ponytail 5:ゼロから作り直した。
コード -53% · 時間 -41% · コスト -26% · トークン -45%
それでも:リスクのあるロジックの 98% にテストが付く。Ponytail なしでは 68%。
Claude Code でベンチマーク。同じエージェントを skill あり・なしで比較:実際の FastAPI + React リポジトリを含む 39 タスク、Opus 5.5、各 5 回実行。詳細。

English · Español · 한국어 · 简体中文 · 日本語
英語の README からの翻訳です。内容が異なる場合は英語版が正です。


何かが近づいている。ウェイトリストに登録

Ponytail で作られたもの

Retriever

あの人を知っているはずだ。長いポニーテール。楕円の眼鏡。バージョン管理システムより長く会社にいる。五十行を見せると、黙って眺めて、それを一行に置き換える。

Ponytail は、その人をあなたの AI エージェントの中に入れる。

数字

skill なしのベースラインに対する割合。コード行数:Ponytail v4.13 52%、Ponytail 5 47%。出力トークン:57% と 55%。コスト:84% と 74%。時間:62% と 59%。

コードは半分、それでもより良い:リスクのあるロジックの 98% にテストが付く(skill なし 68%)。エージェント自身のテストが、埋め込んだバグの 66% を捕まえる(skill なし 46%)。

グラフに表れないことが二つある。ブラインド比較では、Ponytail 5 の返答が前の Ponytail の返答に 110 対 67 で勝った。そしてセキュリティの 6 タスク(SQL インジェクション、パストラバーサル、偽造トークン、レート制限、不正な CSV 行、キャッシュ)では、全 30 回の実行に合格した。コードは少なく、安全性は落ちない。手法、タスクごとの表、制約:benchmarks/results/2026-10-07-agentic.md。

**ルールは一度も「トークンを最小に」ではなかった。**ルールはこうだ:タスクに必要なものだけを書き、検証、エラー処理、セキュリティ、アクセシビリティは決して削らない。コードが小さくなるのは必要な分だけだからであって、無理に詰めたからではない。コストとレイテンシの低下は副次的な効果だ。

ビフォー / アフター

フロントエンドに日付ピッカーを追加する。skill なし:335 行、カレンダーと日付ピッカーを手作り。Ponytail 5:リポジトリの Input を type date で再利用する 10 行のファイル一つ。カレンダーはブラウザが用意する。

日付ピッカーを頼む。Ponytail なしだと、エージェントは日付ピッカーのライブラリをインストールするか、カレンダーを丸ごと手で作る。335 行。Ponytail 5 はまず、すでにあるものを見る。リポジトリには Input コンポーネントがあり、どのブラウザにも日付ピッカーがある。その二つを組み合わせる。10 行。

生き残った例は examples/ にもっとある。

作り直したレビュー

作り直したレビュー。ベンチマークからの実際の /ponytail-review の指摘:変更でフィールド名が変わり、触れていないファイル src/routes/feed.js がクラッシュするようになった。必ず直す:Atom フィードがすべてのリクエストでクラッシュする。これが何か、問題、直し方、直さないと何が起きるかが書かれている。仕込んだ問題の 100% を発見(skill なし 87%)。diff の外にある問題の 100% を発見(skill なし 78%)。

/ponytail-review は以前、削れるコードを探すだけだった。今は、壊れたときに呼び出されるシニア開発者のようにレビューする。diff だけでなく変更が触れるコードも読み、バグ、セキュリティ、実際の負荷、足りないテスト、速度、削れるものを確認する。各指摘には、そのコードが何をするか、何が問題か、直し方、直さないと何が起きるかが書かれる。

作り直した監査

リポジトリ全体を、重要な順に。まずこれを直す。倉庫の在庫を管理するリポジトリに対する、ベンチマークからの実際の /ponytail-audit:1 必ず直す、「1,200」と書かれたオフィスのバッチが完全に失敗する。2 必ず直す、インポートが不正な行を黙って飛ばす。3 必ず直す、オフィスのバッチで打ち間違えた SKU が黙って無視される。4 直すべき、リスクのあるコードパスにテストがない。5 できれば直す、オブジェクトでない body で API がクラッシュする。結論:まず 1 を直す。

/ponytail-audit は同じチェックをリポジトリ全体に対して行う。まずコードの全体像をつかむ:エントリーポイント、データの流れ、プロジェクトが想定する負荷。それから見つけたものを重要な順に並べ、最初に何を直すべきかを教える。以前の監査は、削除するものを一覧にするだけだった。

5.3 の新機能:バンド

Claude Code のプロンプトの上にある ponytail のバンド。詳細モード:コスト $23.80、直近のターン $1.14、1 ターン平均 $0.72。トークン 56.7M、出力 168k、33 ターン。エージェント時間 52m 14s。再利用 71%(既存 5、新規 2)。最後の変更のあとテストは成功。コンパクトモードは同じ内容を 1 行で表示する。

Claude Code では、ponytail がプロンプトの上にバンドを表示するようになった。いまのタスクのコスト、使ったトークンとエージェント時間、新しいコードを書く代わりに既存のコードをどれだけ再利用したか、最後の変更のあとにテストが通ったか。ボタンでレベルを切り替え、/ponytail-review や /ponytail-audit を実行し、タスクを Markdown でコピーし、バンドを 1 行にたためる。不要なら /ponytail band で隠せる。同じコマンドでまた表示される。Claude Code 2.1.290 以降が必要で、ターミナルかデスクトップアプリで表示される。VS Code のチャットパネル、クラウドセッション、claude -p では表示されない。

ponytail のボード(ローカルページ):直近 30 日でセッション 61、エージェント時間 20h 13m、$285.30、トークン 492.5M。プロジェクトごとのエージェント時間の推移、テスト結果つきの最近のセッション、作業した日と連続記録。

Board は、すべてのプロジェクトのタスクをまとめたローカルページを開く。時間ごとのコスト、エージェント時間、トークン、テスト結果つきのセッション一覧、作業した日。デフォルトでは、すべて自分のマシンの ~/.config/ponytail/band/ に残る。/ponytail band import で、過去の Claude Code セッションをコスト、エージェント時間、トークンと一緒にボードに追加できる。

仕組み

コードを書く前に、最初に成り立つ段で止まる:1 それは本当に必要か、2 もうこのコードベースにあるか、3 標準ライブラリでできるか、4 プラットフォームの標準機能、5 インストール済みの依存関係、6 一行で済むか、7 そこで初めて動く最小限のコード。ロジックがあれば小さなテストを一つ。

このはしごは問題を理解したあとに動く。理解の代わりではない。変更が触れるコードを読み、実際の流れを追ってから段を選ぶ。解決策には怠けるが、読むことには決して怠けない。

怠け者だが、いい加減ではない。信頼境界での入力検証、データ損失への対処、セキュリティ、アクセシビリティは決して削らない。

分岐、ループ、パーサー、お金、セキュリティを含むロジックには、小さなテストを一つ残す。返答の最後には必ず、省いたことや確認していないこと、知っておくべきリスクが書かれる。

プロンプト

Ponytail はひとつのプロンプトだ:skills/ponytail/SKILL.md。ルールファイルを読むエージェント向けの短縮版は AGENTS.md。このリポジトリの残りは、すべてそのプロンプトをいろいろなエージェントに読み込ませるためのものだ。

インストール

Claude Code、二つのプロンプトに分けて:

/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail

Codex:

codex plugin marketplace add DietrichGebert/ponytail
codex plugin add ponytail@ponytail

そのあと Codex で /hooks を開き、二つのライフサイクルフックを信頼して、新しいスレッドを始める。

その他のエージェント:AGENTS.md をプロジェクトにコピーするか、エージェントに skills/ponytail/SKILL.md を skill としてインストールするよう頼む。Copilot、Cursor、OpenCode、Gemini などの手順(英語):INSTALL.md。

これで終わり。彼なら満足するだろう。口には出さないが。

毎セッション有効で、いくつかのコマンドがある(コマンドを参照)。/ponytail ultra は、コードベースに個人的に腹が立ったとき用だ。起動時とモード切り替え時に、現在のモードが表示される。

ponytail は GitHub の DietrichGebert/ponytail か npm の @dietrichgebert/ponytail からだけインストールすること。.exe や .dll ファイルは決して含まれない。それを含むコピーは私のものではない。

コマンド

コマンド 内容
/ponytail [lite | full | ultra | off] 強度を設定するか、オフにする。引数なしの場合、オフならデフォルトのレベルでオンにし、オンなら現在のレベルを表示する。
/ponytail band [on | off] Claude Code のみ:プロンプトの上のバンドを隠す、または表示する。引数なしで切り替える。レベルは変わらない。
/ponytail band import Claude Code のみ:過去のセッションをコスト、エージェント時間、トークンと一緒にボードに追加する。
/ponytail-review 壊れたときに呼び出されるシニア開発者のように、現在の diff をレビューする:バグ、セキュリティ、実際の負荷、テストのない危険なコード、遅い処理、削れるもの。各指摘には、そのコードが何をするか、何が問題か、直し方、直さないと何が起きるかが書かれる。範囲を狭めたり広げたりするには、対象を普通の言葉で書く:uncommitted、staged、branch、または PR のリンク。
/ponytail-audit 同じチェックをリポジトリ全体に対して行い、重要な順に並べる。
/ponytail-debt 後回しにした shortcut: の近道を一覧にまとめ、「あとで」が「永遠にやらない」にならないようにする。
/ponytail-gain ベンチマークで測定した効果(コード削減、コスト削減、速度向上)をスコアボードで表示する。
/ponytail-help 上記コマンドのクイックリファレンス。

コマンドには skill に対応したホストが必要だ(Claude Code、Codex、Devin CLI、OpenCode、Gemini、Antigravity CLI、pi、Hermes Agent、Qoder、Grok Build)。Codex CLI と IDE 拡張では、プラグインの名前空間の下にある skill なので、$ponytail:ponytail-review のように呼び出す。フックを使う Cursor では /ponytail のレベル切り替えだけが使え、普通のメッセージとして入力する。指示だけのアダプター(Cursor のルールファイル、Windsurf、Cline、Copilot、Kiro、Antigravity の AGENTS.md フォールバック)は、コマンドなしで常時有効なルールだけを読み込む。

よくある質問

設定ファイルは必要? いらない。任意の ~/.config/ponytail/config.json か環境変数 PONYTAIL_DEFAULT_MODE でデフォルトのレベルを設定できるが、必須のものはない。

なぜ shortcut: コメントを書くの? 意図的な近道と、いつ見直すかを示すため。/ponytail-debt がそれを一覧にまとめる。別の単語にしたい、あるいは書かせたくない? プロジェクトの CLAUDE.md か AGENTS.md にそう書いて、/ponytail-debt <好きな単語> を実行すればいい。

120 行のキャッシュクラスが本当に必要だったら? 必要ない。それでも言い張れば作ってくれる。ゆっくり。正確に。あなたを見つめながら。

スケールする? 書かなかったコードは無限にスケールする。バグ 0、CVE 0、太古の昔から稼働率 100%。

なぜ「ponytail」? 理由はよくわかっているはずだ。

スポンサー

GreenPT

ライセンス

MIT。動く中でいちばん短いライセンス。

スター履歴

Star History Chart

現在のランクイン

  • 50

    総合 · 歴代最強

    174K スター · 9.5K fork · 総スター数

    総合 →
  • 4

    総合 · 歴代最強 · JavaScript

    174K スター · 9.5K fork · 総スター数

    総合 · JavaScript →
  • 4

    週間 · 今週点火 · JavaScript

    174K スター · 9.5K fork · 今週のスター

    週間 · JavaScript →
  • 13

    月間 · 今月の潮流 · JavaScript

    174K スター · 9.5K fork · 今月のスター

    月間 · JavaScript →
  • 7

    年間新星

    174K スター · 9.5K fork · 総スター数(今年作成)

    年間 →

直近30日の推移

スター累計の推移

ランキング推移

同ランキングで競う隣接リポジトリ

← ランキングへ戻る