mvanhorn/cli-printing-press
Every API has a secret identity. This finds it, absorbs every feature from every competing tool, then builds the GOAT CLI — designed for AI agents first, with SQLite sync, offline search, and compound insight commands.
CLI Printing Press – 本格的なCLI(およびMCPサーバー)のAI駆動型生成ツール
何であるか – Goベースのツールで、AIアシスタント(Claude Code、Codexなど)が任意のウェブサービスやAPIをトークン効率的なコマンドラインインターフェースと対応する MCP(Machine‑Code‑Plugin)サーバーに変換できる。完全に自動化されたパイプラインを実行する:
- 調査 – 公式ドキュメントを読み込み、コミュニティのCLIをスクレイピングし、非公開サイトのブラウザトラフィックをキャプチャする。
- 吸収 – 既存ツールに見つかった有用な機能のマニフェストを構築する。
- 生成 – 同じクライアント/ストアコードを共有するGo CLI(Cobraベース)とMCPサーバーを出力する。
- 永続化 – フルテキスト検索、インクリメンタル同期、複合コマンドをサポートするローカルSQLiteストアを作成する。
- 検証 – パブリッシュ前にスコアカード、ドッグフードテスト、動作検証チェック、ライブスモークテストを実行する。
結果として、notion‑pp-cliのようなインストール可能なバイナリと、エージェントが直接呼び出せる補完的なnotion‑pp-mcpが得られ、トークンコストを最小限に抑える。
AIエージェントにとっての重要性
- 高速性とトークン経済性 – エージェントは長大なAPIドキュメントを歩んでもらう代わりに、簡潔なCLIを呼び出せる。フラグはマシン消費向けに設計されており(コンパクトな出力、型付きの終了コード、自動JSON出力)。
- ローカル優先データ – 取得したすべてのデータはSQLite DBに保存され、状態なしのAPIラッパーでは決して実現できない超高速な
search、sql、および複合コマンド(stale、health、bottleneck)を可能にする。 - 二重インターフェース – 同じ生成コードがシェル対応CLIとMCPサーバーの両方を駆動するため、ターミナルベースのエージェント(Claude Code、Codex)および IDE統合エージェント(Claude Desktop、Cursor、Windsurf、Cline)の両方で動作する。
- 仕様ゼロワークフロー – ウェブサイト(例:ESPN、Google Flights)にプレスを向け、トラフィックをキャプチャし、OpenAPI仕様を逆引きしてCLIを自動生成する。
クイックインストール(バイナリ+スキル)
# 1行でGoジェネレータをインストールし、Claude Code用のすべてのPrinting‑Pressスキルを登録
curl -fsSL https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/scripts/install.sh | bash
--cli-onlyまたは--skills-onlyを追加すると片方だけをインストールでき、--agent codexを指定するとClaude CodeではなくCodexをターゲットにできる。
手動の代替案(Goツールを好む場合):
go install github.com/mvanhorn/cli-printing-press/v4/cmd/cli-printing-press@latest
npx -y skills@latest add mvanhorn/cli-printing-press/skills --skill '*' -g -a claude-code -y
CLIの生成(エージェントワークフロー)
- Claude Code(またはCodex)セッションを開始する。
- チャット内で次のスキルを実行する:
例:/printing-press <app‑name-or‑URL>/printing-press ESPN、/printing-press https://postman.com/explore - スキルが
cli-printing-pressバイナリを呼び出し、5フェーズのパイプラインを実行し、~/printing-press/library/<api>/に2つのバイナリを生成する:<api>-pp-cli– Cobra CLI。<api>-pp-mcp– MCPサーバー。
- CLIを直接使用する(
<api>-pp-cli --help)か、IDEエージェントがMCPサーバーを自動検出させる。
生成されたCLIのコア機能
| 機能 | 機能内容 | エージェントへの利点 |
|---|---|---|
sync |
ローカルSQLiteストアに最新データを取得。 | 1回のネットワークコールで、以降のすべてのクエリはオフラインで実行可能。 |
search / sql |
ローカルデータに対するフルテキストまたはSQLクエリ。 | ミリ秒単位の応答、トークン消費を大幅に削減。 |
stale, health, bottleneck |
歴史的データから導かれるドメイン固有の分析。 | カスタムコードなしでエージェントに高レベルのインサイトを提供。 |
--compact |
高重力フィールドのみを出力(60–80%のトークン削減)。 | プロンプトを短く保つ。 |
| 型付き終了コード | マシン読み取り可能なステータス(0、2、3、…)。 |
テキスト解析なしで論理分岐が可能。 |
| 自動JSON出力 | パイプされた場合、--jsonフラグなしでJSONを出力。 |
jqや他のツールとシームレスに合成可能。 |
パブリッシュと改善
- パブリッシュ –
/printing-press-publish <api>は検証、パッケージ化を行い、パブリックなPrinting‑Press LibraryへのPRを開く。 - 仕上げ –
/printing-press-polish <api>は診断を実行し、検証失敗を修正し、ドキュメントを整える。 - 修正 – ドッグフードセッション後に、
/printing-press-amendは摩擦ポイントを抽出し、PRを作成し、自動的にPIIをクリーンアップする。
内部の仕組み(概要フロー)
Phase 0 仕様またはURLの解決(1–3分)
Phase 1 調査概要 – イデンティティ、競合、データ層(5–10分)
Phase 1.5 エコシステムの吸収 – 既存CLI/MCP機能をカタログ化(5–10分)
Phase 1.7 ブラウザスニッフィング – 仕様がなければHARをキャプチャ(2–5分)
Phase 2 Go CLI + MCPサーバーの生成(1–2分)
Phase 3 「GOAT」の構築 – ローカルストア、複合コマンド、分析機能を追加(10–20分)
Phase 4–5 検証、スコアリング、必要に応じてパブリッシュ
すべてのフェーズはcli-printing-pressバイナリによってオーケストレーションされる。重い処理(コード生成)はCodex(/printing-press <api> codex)に委任することで、Claude Codeのトークン使用量を節約できる。
生成されたCLIの例(ESPN)
espn-pp-cli games --date today --compact
# → 1回の呼び出しでNBAプレーオフのスコア、得点リーダー、怪我情報のJSONを出力
同じ機能はIDEベースのエージェント向けにespn-pp-mcpでも利用可能。
誰が使うか
- 数十ものサービスに迅速かつ低トークンでツールを提供したいAIエージェント開発者。
- SaaSデータのローカルで検索可能なキャッシュを望むDevOps/自動化エンジニア。
- スクレイピングを書かずに非公開のWeb APIを探索したい研究者。
- 1つのソースからCLIとMCPプラグインの両方を配布したいツールビルダー。
リンク
- 事前作成済みCLIのカタログ – https://printingpress.dev
- Printing‑Press Library(GitHub) – https://github.com/mvanhorn/printing-press-library
- インストールスクリプト –
scripts/install.sh - Codex用ドキュメント –
docs/CODEX.md - Cursor用ドキュメント –
docs/CURSOR.md
CLI Printing Press は、ドキュメント化されていようがいまいが、任意のAPIを高パフォーマンスでエージェントフレンドリーなコマンドラインツールとMCPサーバーに変換するライフサイクル全体を自動化し、AI補完ワークフローにおけるトークンコストと開発労力を劇的に削減する。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト