spacequery
spacequeryv0.4.0MIT
Named queries over the state of one developer's machine: which coding agents run where, which repositories are dirty, which worktrees and sessions sit idle.
インストール
npm install spacequery- GitHub のソースコード
- 使っているツール: archstrict, nukadoko, solarsql
spacequery は、開発者のマシンの現在の状態を、1 つのビューとしてコーディングエージェントに渡します。 エージェントは、編集、サーバーの起動、プルリクエストの作成、古い作業の引き継ぎの前に、マシンとリポジトリをすでに誰が、何が使っているかを知る必要があります。 git、gh、プロセスのツール、ターミナルのセッションは、それぞれその一部しか見せません。 spacequery は、プロバイダーと呼ぶそれらの情報源を観測し、その行を新しいインメモリの SQLite データベースで結合して、結果を表示して終了します。 情報源を読むだけで、変更することはありません。
- リポジトリと作業のレポート。
spacequery hereは、そのリポジトリにいるほかのエージェント、git の状態、リンクされたワークツリー、ブランチのプルリクエスト、待ち受け中のポート、ローカルのプロセス、Docker のコンテナ、mise のツールなどのセクションを表示します。spacequery workは、閉じていないプロジェクトの issue、herdr のエージェントとそのセッションのモデル、最近のローカルの Cursor のエージェントを 1 つのレポートにまとめます。spacequery watch workは、このレポートを更新し続けます。 - ツールをまたぐ問い合わせ。
spacequery はリポジトリのルートで行を結合するので、
agents-in-dirty-repos、failing-checks-with-agents、idle-worktrees、servers-with-agentsはそれぞれ 1 つの名前付きクエリで済みます。heavy-processesは、すべてのプロセスを CPU とメモリの使用量で順位づけし、そのプロセスを持つ herdr のペインを示します。 その場で書いた--sqlが準備できないときは、近い列名や、見つからない列がどのテーブルにあるかなど、エラーが直し方を示します。 - 作業前のゲート。
エージェントを一覧表示するクエリは、呼び出したエージェント自身を除きます。
spacequery here --expect-empty --strictは、ほかのエージェントがリポジトリにいるときや、応答しなかったプロバイダーがあるときに失敗します。spacequery watch in-dir --until emptyは、リポジトリが空くまで待ちます。 - 欠けている情報が見える。
既定の出力は JSON で、
providersフィールドが、実行した各プロバイダーのsource、ok、observed_at、ms、errorを示します。 失敗したプロバイダーのテーブルは空になるので、その横にある空の行は「ない」ではなく「わからない」を意味します。spacequery doctorは、どの組み込みプロバイダーが応答するかを確認します。 - 必要なプロバイダーだけを使う。
クエリは、読み取るテーブルのプロバイダーだけを読み込むので、
tools-in-dirは GitHub を呼び出しません。 互いに依存しないプロバイダーは並行して読み込みます。brew、runtag、firstlightなどの任意のプロバイダーは、~/.config/spacequery/config.jsonで有効にするまで、--helpの短い一覧に出てきません。 呼び出しのたびに空のデータベースから始めるので、古くなるキャッシュはありません。 - ターミナル上のブラウザー。
spacequery uiは、テーブル、クエリ、レポートを列と SQL つきで表示し、rを押すと行を取得します。--tsvは、人が読むための簡潔な表を出力します。
エージェントでの使い方
Section titled “エージェントでの使い方”作業の手順は spacequery のスキルに書かれています。
このスキルは、gh skill install でエージェントのホストごとに入れます。
- リポジトリで作業を始める前に、エージェントは
spacequery hereを実行します。 section_statusを読み、各セクションのもとになるプロバイダーが応答したかを確認します。- 行の内容から、より安全な次の行動を選びます。
たとえば、ほかのエージェントが作業中なら
spacequery watch in-dir --until emptyで待つ、空いているワークツリーを再利用する、ローカルのサーバーが使っているポートを避ける、マージを依頼する前に失敗しているチェックを読む、といった行動です。
spacequery には、Node 24.10 以降と、観測対象のツール (git、gh、herdr、docker、lsof など) が PATH 上に必要です。
npm install -g spacequeryspacequery herespacequery doctorgh skill install meganemura/spacequery spacequery --scope user --agent claude-code- runtag がジョブファイルを書き、spacequery がそれを読みます。
spacequery watch runs-in-dir --root <repo> --until status=exitedは、リポジトリのすべてのジョブが終了するまで待ちます。 - spacequery は、firstlight がチェックの実行ごとに書く状態を読みます。
running-checksは、生きているスーパーバイザーの下でまだ実行中のチェックを一覧にします。latest-check-runsは、リポジトリごとに最新の結果を示します。 polylinedbプロバイダーは、polylinedb の閉じていないプロジェクトの issue をpdを通して読み、issues、here、workに使います。