gadak について
gadak は選択した Jira Cloud プロジェクトと Confluence スペースを、ローカルの SQLite ファイル 1 つに複製し、SQL クエリ、全文検索、オフライン読み取りを可能にします。バックログを頻繁に確認する開発者やチームメンバー向けで、書き込みは先に Jira へ送信されます。
主な機能
- 01ローカルミラーに対する SQL クエリ
- 02全文検索と課題詳細表示
- 03指定したプロジェクトとスペースのみを複製
- 04Jira への書き込み後にミラーを更新
- 05デスクトップアプリ、ブラウザ、CLI、MCP の各インターフェース
活用シーン
- 01SQL で Epic ごとの未解決課題数を集計
- 02コーディングエージェントが MCP 経由で Jira と Confluence を照会
- 03ネットワーク接続なしで同期済みの課題履歴を参照
MCP 対応
gadak の MCP インターフェースにより、AI クライアントはローカルの Jira・Confluence ミラーを照会でき、書き込みは元のシステムに先に送信されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
バックログの中から、必要な情報を見つけましょう。
SQL で Jira のバックログを検索できます。
gadak は、選択した Jira Cloud プロジェクトと Confluence スペース(課題、
コメント、履歴、Wiki ページ)をお使いのマシン上の 1 つの SQLite ファイルにミラーリングし、
まとめてインデックス化して、ネットワーク接続なしで検索できるようにします。
ミラーはデスクトップアプリ、ブラウザーのタブ(gadak serve)、CLI、または MCP から利用できます。
書き込みはまず Jira に反映されます。バイナリは 1 つで、gadak アカウントは不要です。単一のメンテナーが開発する 0.x ソフトウェアです。
ステータスと保証については以下をご覧ください。Atlassian 独自の Rovo MCP サーバーはホスト型で、インストールは不要ですが、集約ツールもオフラインでの読み取り機能もありません。そのトレードオフについては代替手段をご覧ください。
▶ ライブデモを開く
· ブラウザーですぐに、534 件の課題を確認できます。
変更履歴
· リリース内容をご覧ください。
SQL で Jira を検索する
gadak sql "select epic_key, count(*) from issues_full where resolved_at is null
and epic_key <> '' group by epic_key order by 2 desc"
JQL には GROUP BY がありません。このクエリは各エピックの未解決課題数を数えます。REST API は行を返すだけで、集計は利用者側で行う必要があります。Datasette Lite では、何もインストールせずに、ブラウザー上でデモスナップショットに対してこのクエリを実行できます。
JQL では尋ねられない、SQL でのその他の質問については
docs/RECIPES.mdをご覧ください。
2026-08-26 に稼働中の Cloud サイト(課題 3,296 件)で計測しました(中央値、CLI の起動時間を含む)。
| 質問 | REST API | gadak | |
|---|---|---|---|
| シンプルなフィルター、課題 100 件 | 583 ms | 19 ms | 31× |
| 履歴全体を含む 1 件の課題 | 710 ms | 28 ms | 25× |
| フリーテキスト検索 | 543 ms | 41 ms | 13× |
エピックごとの未解決課題数(GROUP BY) | 4,761 ms — この計測では API の 8 ページ分を取得し、クライアント側で集計 | 22 ms — 1 回のクエリ | 214× |
| 変更履歴に対するカウント | ネイティブの集計機能なし — 履歴を取得し、クライアント側で数えるには約 28 分 | 14 ms | — |
計測方法、再計測の履歴、および gadak が劣るケース(初回の完全同期、変更のないサイトでの監視間隔ごとの確認、同期間隔 1 回分のデータ遅延)については、docs/BENCHMARKS.mdをご覧ください。
▶ リストの 20 秒ツアー(GIF)
ウィンドウの様子を 20 秒でご紹介します。デモスナップショットを使って e2e/demo/web-demo.spec.ts から生成しました。
macOS アプリ。CLI も含まれています。
brew install --cask midagedev/tap/gadak
macOS または Linux で CLI のみをインストールします。同じ UI がブラウザーのタブで開きます。gadak serve を実行してください。
brew install midagedev/tap/gadak-cli
Jira Cloud に接続し、gadak serve が表示するアドレス(http://gadak.localhost:7777)を開きます。最初の同期は serve の実行中に開始され、新しい課題から順に取り込まれます。同期中もリストに課題が表示されていきます。
gadak init && gadak serve # mirror a Jira Cloud site
gadak init --local && gadak serve # no Jira — start on the tracker gadak ships with
サイトごとに、スコープを指定せずに作成したユーザートークンである API トークンが 1 つ必要です。同じサイトの Jira と Confluence の両方で使え、ミラーにはアカウントから見える内容が反映されます。ミラーする内容は自分で選択します。Jira には --projects、Wiki には --spaces を指定します。スペースを指定するまで、Wiki は無効のままです。Jira Server と Data Center には gadak init --server とパーソナルアクセストークンで接続できます。ただし、Confluence Server クライアントがないため、Wiki は無効のままです。
gadak init --projects ENG,PROD --spaces ENG
**Windows:**デスクトップアプリは Microsoft Store から入手できます。Store が署名するため、SmartScreen や Smart App Control にブロックされません。また、Store からインストールすると、gadak コマンドも PATH に追加されます(0.20.2 以降)。Store を使わずに CLI をインストールする場合は、最新リリースから gadak_<version>_windows_amd64.zip(または arm64)をダウンロードして展開し、gadak.exe を PATH に追加します。リリースのデスクトップ版 zip(Gadak-<version>-windows-x64.zip)は署名されていません。そこで SmartScreen にブロックされるのは、ウイルスの検出ではなく、署名がないためです(理由)。ブロックされた場合は Store からインストールし、Smart App Control はオフにしないでください。
ウィンドウはブラウザーまたは OS の言語(英語、韓国語、日本語)に従います。言語は Settings で切り替えられます。署名済みの dmg、Linux tarball、Docker、アップグレードについては、docs/INSTALL.md を参照してください。
その他のワークスペース。 gadak --workspace <new> migrate --from <old> で、同期済みのワークスペースを別のオリジンに移行できます。Linear チームを移行先にする場合は --to linear を追加します。2 台目のマシンをホームの serve に接続するには、gadak --workspace laptop init --pairing-code-stdin を実行します。
データとネットワーク
- コピーされるデータ。 指定した Cloud のプロジェクトとスペースが、アカウントから見える状態でコピーされます。gadak が権限を追加したり、サービスアカウントを使ったりすることはありません。
- ローカルに保存されるデータと鮮度。 SQLite ファイルが 1 つ保存されます。時間がかかるのは最初の全件同期です。ベンチマーク用サイト(課題 3,514 件、ページ 462 件)では 3.7 分かかりました。その後、
gadak serveはデフォルトで 60 秒ごとに同期します(syncIntervalSec)。さらに、1 時間ごとに照合し、アクセスできなくなった課題を削除します。読み取り結果には、Jira との同期間隔 1 回分の遅延があります。 - トークンの保存場所。
~/.gadak/config.jsonに、モード0600で保存されます。認証情報が SQLite、ログ、スナップショットに保存されることはありません。 - マシンから外部に送信されるデータ。 テレメトリーはありません。gadak が通信するのは、設定した接続先だけです。完全な一覧は
SECURITY.mdに、すべての接続と無効化方法はdocs/NETWORK.mdに記載されています。次の 4 つの読み取り操作では、引き続き Jira に問い合わせます。添付ファイルの表示、gadak issue --editmeta、gadak fields、gadak api(パススルー)。 - 書き込み時の動作。 まず Jira に書き込み、Jira が受け付けた後にミラーを更新します。Jira が拒否した書き込みは、その時点で失敗します。キューには追加されません。
- エージェントを使う場合の変更点。 エージェントは読み取った内容をモデルに送信します。エージェントを参照してください。
ミラーは削除しても問題のないキャッシュです。 ディレクトリを削除しても、データは失われません。
エージェント
コーディングエージェントに、CLI または MCP 経由で同じミラーをクエリさせることができます。参照先:
docs/MIRROR.md;ホストごとに 1 回貼り付けます:
docs/AGENT_SETUP.md。
gadak skill install
これにより SKILL.md が 1 つコピーされ、プロセスは起動しません。エージェントは短時間で終了する gadak コマンドを実行します。同じファイルを別のホストにインストールするには、ホスト名を指定します:gadak skill install codex。agents、cursor、gemini、opencode、grok も同様です。シェルのない Claude Desktop では、同じミラーを MCP サーバーとして登録します(gadak mcp install claude は Claude Code への登録であり、Claude Desktop には表示されません):
gadak mcp install claude-desktop
ウィンドウ内のシェルを使います(⌘K → Terminal、または Ctrl+`)。gadak claim でペインを課題に関連付けると、その中で起動した Claude Code セッションが一覧を絞り込み、同じウィンドウにダッシュボードを保存して開きます。スクリプト化されているのは 2 つのプロンプトだけです。エージェントの処理中はタイムラプスで記録しています。韓国語版と日本語版の README には、それぞれの言語で記録した同じテイクが掲載されています。e2e/demo/terminal-claude-demo.spec.ts から record-terminal-claude.sh を使って記録しました。
価値の大半を生むルールは 2 つです。表示名ではなく status_category と
priority_rank で絞り込みます。Jira はアカウントごとにこれらを翻訳するため、
韓国語のサイトでは priority = High を指定すると、何も表示されないままになります。また、クエリで取得した課題は gadak ウィンドウで開きます:
gadak sql --no-header "…" | gadak views open --keys - を実行するとエージェントの回答が画面に表示され、gadak views open --jql '…' を実行すると、貼り付けた JQL がチップとして表示されます。
書き込み(create、edit、comment、transition、claim、link、および wiki の page 動詞)は、ミラーが更新される前にオリジンを経由します。Jira と Linear では、エージェントのコメントとエージェントが作成した課題に、その名前が記録されます(無効にするには gadak config set actor.trailer false)。組み込みトラッカーでは、マシンを使っている人の名前が同じように記録されます。gadak me set "Your Name" を実行すると、その人の名前で書き込みが行われます。
ミラーを読み取るエージェントは、読んだ内容を対話するモデルに送信します。 gadak 自体は何も送信しません。エージェントに表示させる内容だけをミラーの対象にしてください。
スマートフォンアプリ(ベータ版)
iOS アプリは、ご自身のネットワーク経由で、すでに実行中の gadak serve と連携します。
gadak のアカウントは不要で、間にホストされたサービスもありません。キャッシュにあるものが、そのままスマートフォンに表示されます。フィールド、添付ファイル、リンクされた課題、Wiki ページ、現在のスプリントと、それ以前のすべてのスプリントが対象です。ひと言で伝えたい内容を、スマートフォンからまずオリジンに書き込みます。デスクトップと同じ仕組みです。コメント、ラベル、期限、写真、エピックに紐づけて登録した課題に対応しています。ページやカスタムフィールドの編集、ビューの作成、ダッシュボードのレイアウト、カードの移動はデスクトップのみで行えます。アプリでは、該当する操作がある場所にその旨を表示します。
1 回の撮影のうち、書き込み部分です — サイトでは動画全体をご覧いただけます。GitHub の Markdown では <video> が表示されないためです。ここに演出はありません。デモスナップショットは独立したトラッカーとして提供されているため、書き込みはすべて反映されます。
ベータ版であり、状況はそれだけです。 ビルドは内部テスター向けに TestFlight で配布しており、一般向けのダウンロードはありません。レビュアーがご自身のネットワークに参加せずにアプリを確認できる方法が整うまで、App Store への掲載は保留中です。
オリジンと制限
4 つのオリジンで、同じ操作を利用できます。Atlassian Cloud、Jira Server / Data Center(gadak init --server と Personal Access Token)、Linear(ワークスペース設定の "linear" ブロックと gadak sync --source linear)、そしてアプリに組み込まれたトラッカーです。読み取り、書き込み、階層、添付ファイル、履歴、ボードレイアウトは 4 つすべてで機能します。Wiki は、対応する 3 つで利用できます。各オリジンで利用できない機能と、その根拠となるコードの参照先は、
docs/SUPPORT_MATRIX.md をご覧ください。どのオリジンにも存在せず、Jira にのみ残る機能が 3 つあります。UI としてのスプリント、Jira ダッシュボード、Jira の通知受信箱です。
適した用途/適さない用途。 日常的な検索の応答速度、トラッカーと Wiki の両方を対象にするエージェント、オフラインでの読み取りには適しています。スプリント計画、管理、UI でのページ編集、あるいはわずかな遅延も許容できない用途では、Jira をお使いください。
docs/CONCEPT.md。
仕組み。 1 つのバイナリと 1 つの SQLite ファイルを使い、増分同期に照合処理を組み合わせています。
docs/ARCHITECTURE.md をご覧ください。拡張機能や Forge アプリではなくローカルプロセスを採用した理由:
docs/decisions/0003-local-process.md。
設定、エンリッチメント、SQL を使えば、フォークせずにご自身に合わせて拡張できます:
docs/EXTENDING.md。
代替手段と先行プロジェクト
jira-cli はコマンドごとにライブ API にアクセスします。Rovo MCP は Atlassian がホストして Jira と Confluence を検索します。書き込みツールはありますが、ネイティブな集約ツールとオフラインでの読み取りには対応していません。gadak はローカルミラーに対して SQL を実行します。利用時にはローカルバイナリと初回同期が必要ですが、読み取りはディスク上のデータから行うため、読み取りにレート制限は適用されません。また、信頼を預ける相手は Atlassian ではなく、Apache-2.0 ライセンスの 1 人のメンテナーです。この分野の先行プロジェクトには Scrumdog、jira-offline、jira-cache があります。gadak はローカルの Jira と Confluence のミラーに、SQL、デスクトップおよびブラウザーのインターフェース、CLI、MCP を組み合わせています。
docs/FAQ.md。
ステータス、互換性、メンテナンス
ステータス:0.24、引き続き0.xです。 同期、読み取り API、ライトスルー、デスクトップ、ウェブ、CLI、MCP は、稼働中のサイトで検証済みです。現在、このプロジェクトのメンテナーは1人です。0.x では、specs/000-product/data-model.md に記載された次の3点について互換性を保証します。issues_full と RECIPES クエリ、gadak sql の標準出力、gadak views open --keys - です。ライセンスは Apache-2.0 で、ミラーは通常の SQLite です。名前は韓国語に由来します。gadak(가닥)は「糸の一筋」、つまり絡まりから引き出された一本の糸を意味します。信頼する必要のない保証内容と、それぞれを確認するコマンドはこちらです:
docs/PROMISES.md。
ドキュメント
CHANGELOG.md:リリース内容docs/INSTALL.md·docs/DESKTOP.md:インストール、初回起動、デスクトップアプリSECURITY.md·docs/NETWORK.md:脅威モデル、すべての接続とその無効化方法docs/MIRROR.md·docs/MCP.md·docs/AGENT_SETUP.md:SQL、CLI、REST、MCP、各ホストで貼り付けるだけの設定docs/RECIPES.md·docs/DASHBOARDS.md:JQL では尋ねられない質問を SQL で問いかける方法、エージェントが作成したダッシュボードdocs/SHOWCASE.md:画面、ランチャー、そして両方を操作するエージェントの動画docs/FAQ.md·docs/MAINTENANCE.md:サイトの負荷、比較、このプロジェクトのメンテナーdocs/README.md:その他のドキュメント
フィードバックとコントリビューション
ご自身のプロジェクトで gadak を使った場合は、GitHub issue を作成するか、[email protected] までメールでお知らせください。どんな質問に答えられたか、そして再び使ったかを教えてください。コントリビューションの前に、日常的な使用状況についての報告も歓迎します。
公開 issue には、実際の issue データ、トークン、サイト URL を含めないでください。バグ報告には、Jira のデプロイ種別(Cloud または Server)、gadak のコミット、実行したコマンドが必要です。メンテナーは issue を公開バックログにも反映しており、GDK-nnn 形式のコミットキーから該当項目を参照できます。
コントリビューションについては、.github/CONTRIBUTING.md と
docs/project/GOOD_FIRST_ISSUES.md をご覧ください。次の機能が選ばれた理由と、その根拠となる情報源はこちらです:
docs/project/THEORY.md。
ライセンス
Apache-2.0。LICENSE と NOTICE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。