thask について
thaskは、開発者やコーディングエージェントがコード変更の影響を調べるための依存グラフサービスです。グラフ分析とプロジェクト知識のモデル化に加え、エージェントによる説明の無断変更を防ぐ来歴管理を備えています。
主な機能
- 01プロジェクト依存グラフの編集
- 02変更影響とクリティカルパスの分析
- 03Goコードの依存関係スキャン
- 04ノードと関係の監査履歴
- 05エージェント提案の承認キュー
活用シーン
- 01リファクタリングの下流影響を確認
- 02Goプロジェクトから依存グラフを生成
- 03エージェントによる説明変更を確認
MCP 対応
組み込みMCPサーバーは25種類のツールを提供し、Claude CodeやCursorなどのクライアントがプロジェクトグラフを検索・変更できます。書き込み権限と来歴記録で、エージェントの変更を制御・追跡できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @thask-org/cliTHASK_URLURL of your Thask server (e.g. https://thask.kimgh06.com or http://localhost:7244). Can also be set via `thask config set url <url>`.THASK_TOKENシークレットAPI key for your Thask account. Generate via `thask login` (browser flow, recommended) or in the web UI settings.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ThaskThask it, done. | ![]() |
AI 支援開発のための依存関係グラフレイヤー。
何が何に依存しているかを可視化し、Claude Code / Cursor / Codex から MCP 経由で問い合わせられるようにします。さらに、エージェントが幻覚による説明を気づかれないままグラフに登録できないよう、来歴ガードを備えています。
v0.6.0 — ナレッジ OS の基盤。 Thask は実行依存関係だけでなく、 プロジェクトのメモリー全体をモデル化できるようになりました。従来の 7 種類に加え、 新たに 4 種類の第一級エンティティ (
REQUIREMENT、DECISION、EXPERIMENT、PERSON)を追加し、 新たに 9 種類の関係動詞(realizes、supersedes、decided、produced、owns、reported、drives、tests、conflicts)、statusと独立した ドメインのlifecycleState、ノードごとのコメント、添付ファイル、 およびプロジェクトの正規タグも追加しました。MCP ツールは従来どおり 25 個で、 新機能は列挙型の拡張と、2 つのフィールドの追加によって実現しています。
導入前と導入後
| Thask なし | Thask あり | |
|---|---|---|
| あなたの依頼 | 「この決済関数をリファクタリングしてください。」 | 「この決済関数をリファクタリングしてください。」 |
| エージェントが見るもの | 開いているファイルだけです。 | ファイルに加え、グラフ全体でそのファイルに depends_on しているすべてのノードです。 |
| エージェントの回答 | もっともらしいコードです。その結果、下流の 3 つのフローが気づかれないまま壊れます。 | 「この変更は 3 つのフローと 2 つの UI に影響します。まとめて更新するか、いったん止めて確認します。」 |
| 説明のずれ | エージェントが確信を持って「なぜ」の説明を書き換えます。あなたが読み、次のエージェントはそれを事実として扱います。 | エージェントのキーは、既定で意味的な書き込みをブロックします。提案はキューに送られ、人間が承認します。記録の正本は常に人間が管理します。 |
すべての変更は、6 つの次元からなる来歴(実行者、チャネル、エージェントモデル、変更の種類、トリガー、根拠)とともに記録されます。これにより、次のエージェントは、何を信頼すべきか、何をコードから改めて導き出すべきかを判断できます。
Thask を選ぶ理由
スプレッドシートではコンテキストが失われます。線形の課題追跡ツールでは関係性が見えません。Thask はプロダクトを常に変化するグラフとして可視化するため、問題が起きる前に、何が影響を受けるかを確認できます。
AI ネイティブ
|
グラフファーストの思考すべてのフロー、タスク、バグがノードです。すべての依存関係が目に見えるエッジです。隠れたつながりはもうありません。 |
影響をひと目で確認ワンクリックで、最近の変更によって影響を受けるノードが表示されます。リグレッションをリリース前に発見できます。 |
セルフホスト可能
|
機能
インタラクティブなグラフエディター
11 種類のノード(Flow、Branch、Task、Bug、API、UI、Group、および v0.6.0 の Knowledge OS エンティティである Requirement、Decision、Experiment、Person)をドラッグ&ドロップで操作できます。エッジハンドルにカーソルを合わせてドラッグすると、ノードを接続できます。fCOSE の力指向アルゴリズムによる自動レイアウトにも対応しています。
QA インパクトモード
インパクトモードを切り替えると、変更されたノードとその下流の依存関係がすぐに強調表示されます。暗く表示されたノードは安全で、光っているノードには注意が必要です。
グループノード
関連するノードを折りたたみ可能なグループに整理できます。ノードをグループに入れたり、外に出したりできます。グループのサイズは自由に変更できます。ダブルクリックすると、子ノード数のバッジを表示して折りたためます。
ステータス追跡とフィルター
各ノードを PASS / FAIL / IN_PROGRESS / BLOCKED として追跡し、色分けして表示できます。ノードの種類やステータスでグラフを絞り込み、重要な項目に集中できます。
ノード詳細パネル
スライド式パネルで、タイトル、説明(Markdown 表示対応)、種類、ステータス、タグ、接続されたノード、変更履歴の完全な監査ログを編集できます。
エッジの関係性
色分けされた 14 種類のエッジがあります。基本の 5 種類(depends_on、blocks、related、parent_child、triggers)に加え、v0.6.0 の Knowledge OS の動詞(realizes、conflicts、drives、supersedes、tests、produced、owns、decided、reported)があります。各エッジには JSONB の metadata 項目も付属します。たとえば、supersedes には {reason}、produced には {outcome_summary} などが記録されます。エッジのルートは、ドラッグ可能なウェイポイントで調整できます。エッジをクリックすると、種類を変更したり削除したりできます。
CLI と MCP の統合
ターミナルでのワークフローに対応する完全な CLI(npm install -g @thask-org/cli)を提供します。AI エージェントとの統合には 25 種類の MCP ツールを利用でき、Claude Code と Cursor からグラフを直接照会・変更できます。ブラウザーでのワンステップログイン(thask login)や、インプレースアップグレード(thask self-update)にも対応しています。CLI リファレンス · MCP ガイド
キーごとの権限と来歴(v0.5.9 以降)
すべての API キーは user_interactive、agent、service のいずれかに分類され、7 つの独立した権限フラグが設定されます。エージェントキーでは、セマンティックな書き込み(説明、「理由」に関する内容)とノードの検証がデフォルトでブロックされるため、幻覚による説明が気づかれないままグラフに追加されることはありません。すべての書き込みについて、6 つの側面(実行者、チャネル、エージェントのモデル、変更の種類、トリガー、証拠)の来歴を単一の audit_log テーブルに記録します。DATABASE.md > 来歴
提案キュー
説明の変更を希望するエージェントは node_suggestions に提案を投稿し、人間が承認してから変更を反映します。承認を決定した人間が正式な記録上の作成者となり、エージェントへのクレジットは監査メタデータにのみ記録されます。サーバー側で強制されるため、権限フラグにかかわらず、accepted の決定には user_interactive の実行者が必要です。
一括操作(v0.5.10以降)
3つのエンドポイントにより、N回の往復通信を1回に削減できます。node.batch_update(最大200件)、edge.batch_create/edge.batch_delete(最大500件)に対応しています。権限エラーや循環の検出時にはアトミックに処理され、スキップされた項目の理由は skipped[] に記録されます。項目が1つでもスキップされた場合は、HTTP 207 Multi-Status が返されます。エージェントのコンテキストを大幅に節約できます(N回ではなく1回の呼び出し)。
ローカルファーストのCLIテレメトリー(v0.5.15以降)
すべてのCLI呼び出し、MCPツール呼び出し、HTTPレスポンスは、1行のJSONLとして ~/.thask/events.jsonl に追記されます。データはお使いのマシン内にのみ保存され、アップロードされません。thask usage(30日間の概要、p50/p95レイテンシー、使用頻度の高いコマンド)、thask reflog/thask history(最近のイベント、全文検索)で確認するか、ファイルを直接 tail -f で監視できます。生の本文の記録はオプトイン方式です(thask telemetry config set capture_payloads true)。デフォルトではメタデータのみが記録されます。トークン、URL認証情報、JWT、Cookieは書き込み時にマスキングされます。
Go依存関係スキャナー
Goのコードベースをスキャンして、依存関係グラフを自動生成します。thask scan --path . は go.mod とインポートを解析し、ノードとエッジを自動作成します。プラグインシステムで拡張できます。
グラフ分析
依存関係の循環(Tarjan DFS)を検出し、クリティカルパス(最長の depends_on/blocks チェーン)を特定します。分析モード(Shift+A)を切り替えると、キャンバス上で循環とクリティカルパスを視覚化できます。
外部API(v1)
サードパーティー連携向けのバージョン管理されたREST APIを /api/v1/ で提供します。OpenAPI 3.1仕様、対話型Scalarドキュメント、構造化されたエラーレスポンス、冪等性に対応しています。APIガイド
ロールベースのアクセス制御
4つのチームロール(Owner、Admin、Member、Viewer)によるきめ細かな権限設定に対応しています。プロジェクトごとのロール(Editor、Viewer)も設定できます。プログラムからのアクセスにはAPIキー認証を使用できます。
プロジェクト共有
閲覧者または編集者のアクセス権を設定して、リンク経由でプロジェクトを共有できます。きめ細かなロールで、プロジェクトごとのメンバーを管理できます。公開された共有ビューではリアルタイムの共同作業に対応しています。埋め込み可能なグラフビューとOG画像の生成にも対応しています。
テンプレート
組み込みテンプレート(API Flow、Microservice Map、Sprint Board)から新しいプロジェクトを開始できます。プロジェクト作成フローからワンクリックで適用できます。
テーマシステム
システム設定の検出に対応したライトモードとダークモードを利用できます。設定はユーザーごとに保存されます。デザインシステム全体でCSS変数を使用しています。
仕組み
Thaskは2つの要素で構成されています。
| サーバー(セルフホスト) | CLI(ローカル) | |
|---|---|---|
| 内容 | Web UI + REST API + PostgreSQL | ターミナルコマンド + MCP サーバー |
| インストール | docker compose up | npm install -g @thask-org/cli |
| 利用者 | 人間(ブラウザー) | 人間(ターミナル)+ AI エージェント(MCP) |
| データ | すべて(ノード、エッジ、ユーザー)を保存します | サーバーAPI経由で読み書きします |
Browser ──→ Thask Server (Docker) ──→ PostgreSQL
↑
CLI / MCP ──────┘
サーバーはグラフデータベースとWeb UIを実行します。CLIはサーバーのAPIと通信し、ターミナルからノードの作成、スキャンの実行、グラフの分析ができます。AI エージェント(Claude Code、Cursor)はCLIに組み込まれたMCP サーバーを使用します。
AI エージェント向けクイックスタート
2分でThaskをClaude Codeと連携させます。
-
Thaskを起動します(まだ起動していない場合)。
make up -
CLIをインストールし、ブラウザーからログインします。
npm install -g @thask-org/cli thask config set url http://localhost:7244 thask login # opens browser, click Approve, token savedthask login(v0.5.11以降)を使うと、「Settingsでキーを作成し、 64文字の文字列をコピーして貼り付ける」という従来の手順は不要です。MCP サーバーも同じ~/.thask/config.jsonを読み取るため、このログインだけで Claude Codeも利用できます。ヘッドレス環境やSSHセッションの場合は、Web UIで キーを作成し、代わりにthask config set token <key>を実行します。 -
Claude Codeに追加します(
.claude/mcp.json)。{ "mcpServers": { "thask": { "command": "thask", "args": ["mcp", "serve"] } } }
これでClaude Codeから依存関係グラフの読み取りと変更ができるようになります。v0.5.9以降は権限チェックがあるため、エージェントのキーによって、幻覚に基づく説明が気付かれないまま登録されることはありません。詳しくはMCPガイドをご覧ください。セットアップ不要でインストールできる公式Claude Codeプラグインもご利用いただけます。
クイックスタート
Docker(推奨)
make up # auto-generates .env with SESSION_SECRET on first run
または、手動でインストールします。
cp .env.example .env
# Edit .env and set SESSION_SECRET (or let make generate it)
docker compose up --build
http://localhost:7243 を開き、アカウントを作成してください。
ローカル開発(macOS / Linux)
Makefile が唯一の信頼できる情報源です。すべての開発ワークフローにターゲットがあります。
make dev # one-shot: starts DB + capture worker, then backend + frontend in parallel
または、個別の処理を別々のターミナルで実行します。
make dev-db # PostgreSQL only (docker compose)
make dev-capture # Playwright capture worker (docker compose)
make dev-backend # Go backend (requires air: go install github.com/air-verse/air@latest)
make dev-frontend # SvelteKit frontend on :7243
air がインストールされていない場合は、バックエンドを直接実行します。
cd backend && cp .env.example .env && go run ./cmd/server
ローカル開発(Windows)
前提条件:Go 1.26+、Node.js 22+、Docker Desktop
# Terminal 1 — Start PostgreSQL
docker compose -f docker-compose.dev.yml up -d
# Terminal 2 — Start backend
cd backend
copy .env.example .env
go run ./cmd/server
# Terminal 3 — Start frontend
cd frontend
copy .env.example .env
npm install
npm run dev -- --port 7243
ヒント: Windows で
makeを使うには、scoop install makeまたはchoco install makeでインストールしてください。
http://localhost:7243 を開きます。
技術スタック
| レイヤー | 技術 |
|---|---|
| バックエンド | Go 1.26(Echo v4) |
| フロントエンド | SvelteKit + Svelte 5(runes) |
| CLI | Go(Cobra)+ MCP サーバー |
| グラフエンジン | Cytoscape.js + fCOSE レイアウト + edgehandles |
| スタイリング | Tailwind CSS v4 |
| 状態管理 | Svelte 5 runes($state、$derived、$effect) |
| データベース | PostgreSQL 17 + pgx/v5(生 SQL) |
| 認証 | セッションベース(bcrypt + HTTP 専用 Cookie) |
| テスト | Go test(単体テスト + ベンチマーク)+ Playwright(E2E) |
| デプロイ | Docker Compose(3 サービス) |
| npm | @thask-org/cli(esbuild パターン、5 プラットフォーム) |
プロジェクト構成
backend/
cmd/server/ # Go entrypoint, route registration
internal/
config/ # Environment configuration
dto/ # Request/response structs, v1 errors, pagination
handler/ # HTTP handlers (auth, team, node, edge, impact,
# graph_analysis, activity, events, og_image, api_key)
middleware/ # Auth, role, project access, shared access,
# idempotency, v1 response
model/ # Domain models & enums
repository/ # Database access layer (pgx, 11 repos)
service/ # Business logic (waterfall, impact, graph_analysis,
# layout, eventhub, auth)
migrate/ # Migration runner
migrations/ # SQL migration files (001~005)
api/ # OpenAPI spec + API guide
frontend/
src/
routes/
login/ # Login page
register/ # Register page
dashboard/ # Dashboard & team pages
[teamSlug]/
[projectId]/ # Graph editor page
members/ # Team member management
settings/ # User settings
shared/[shareToken]/ # Public shared view
embed/[shareToken]/ # Embeddable graph
docs/ # Documentation page
lib/
api.ts # Typed API client
types.ts # TypeScript type definitions
markdown.ts # Markdown renderer (marked + DOMPurify)
stores/ # Svelte 5 rune stores (auth, graph, teams,
# members, realtime, theme, undo)
components/ # CytoscapeCanvas, GraphToolbar, DetailSidePanel,
# MarkdownEditor, ActivityFeed, TemplateSelector,
# ShareDialog, SearchBar, ProjectMenu, AddNodeModal
cytoscape/ # Styles, layouts, impact, sync, resize,
# portOverlay, groupHelpers, statusDot
managers/ # nodeCrud, edgeCrud
e2e/ # Playwright E2E tests
static/templates/ # Built-in project templates (3)
cli/
cmd/thask/ # CLI entrypoint
internal/
cmd/ # Cobra commands (node, edge, team, project,
# graph, impact, scan, mcp, auth, config,
# aliases, install, version)
mcp/ # MCP server (stdio protocol, 12+ tools)
scan/ # Go dependency scanner + plugin runner
client/ # HTTP client for backend API
config/ # Config file management (~/.config/thask/)
output/ # Output formatting (JSON, table, quiet)
npm/ # npm distribution (@thask-org/cli, 5 platforms)
データモデル
Users ──< TeamMembers >── Teams ──< Projects ──< Nodes ──< NodeHistory
│ │ │
└──< ApiKeys │ └──< Edges
│
└──< ProjectMembers >── Users
ノードの種類: FLOW BRANCH TASK BUG API UI GROUP REQUIREMENT DECISION EXPERIMENT PERSON
ノードのステータス: PASS FAIL IN_PROGRESS BLOCKED
ノードのライフサイクル状態(v0.6.0): 自由形式のテキストで、status とは独立しています。REQUIREMENT/DECISION/EXPERIMENT/PERSON に使用します(例:APPROVED、RUNNING、DECIDED、ACTIVE)。
エッジの種類: depends_on blocks related parent_child triggers realizes conflicts drives supersedes tests produced owns decided reported
サイドテーブル(v0.6.0): node_comments、node_attachments、project_tags
環境変数
バックエンド(backend/.env)
| 変数 | 説明 | デフォルト |
|---|---|---|
DATABASE_URL | PostgreSQL 接続文字列 | postgresql://thask:thask_dev_password@localhost:7242/thask |
SESSION_SECRET | セッション署名用のランダム文字列 | — |
PORT | バックエンドサーバーのポート | 7244 |
FRONTEND_URL | CORS 用のフロントエンド URL | http://localhost:7243 |
CAPTURE_URL | 内部の Playwright キャプチャーワーカー URL | http://localhost:7241 |
CAPTURE_INTERNAL_SECRET | バックエンドからキャプチャーワーカーへの呼び出しに使う任意の共有シークレット | — |
CAPTURE_TIMEOUT_SECONDS | キャプチャーワーカーのリクエストタイムアウト | 30 |
V1_ALLOWED_ORIGINS | /api/v1/ の CORS オリジン(カンマ区切り) | * |
MAX_REQUEST_BODY_BYTES | v1 ルートの最大リクエストボディサイズ(バイト) | 1048576(1MB) |
THASK_ATTACHMENT_DIR | v0.6.0 のノード添付ファイル用ルートディレクトリ。空の場合は添付ファイルが無効になり(アップロードエンドポイントは 503 を返します)。 | — |
THASK_ATTACHMENT_MAX_BYTES | 添付ファイルのアップロードにおける単一ファイルの最大サイズ | 10485760(10MB) |
フロントエンド(frontend/.env)
| 変数 | 説明 | デフォルト |
|---|---|---|
BACKEND_URL | バックエンド API URL(サーバー側プロキシ) | http://localhost:7244 |
Docker Compose(.env)
| 変数 | 説明 | デフォルト |
|---|---|---|
SESSION_SECRET | 必須。 セッション署名用の 64 文字以上のランダム文字列 | — |
APP_URL | アプリケーションの公開 URL | http://localhost:7243 |
BACKEND_URL | フロントエンドプロキシ用のバックエンド URL | http://backend:7244 |
POSTGRES_PASSWORD | PostgreSQL のパスワード | thask_password |
CAPTURE_PORT | キャプチャーワーカー用のローカル/開発ホストポート | 7241 |
CAPTURE_INTERNAL_SECRET | バックエンドからキャプチャーワーカーへの呼び出しに使う任意の共有シークレット | — |
CAPTURE_FRONTEND_URL | キャプチャーワーカーが Chromium で開く URL | http://frontend:7243 |
BROWSER_WS_ENDPOINT | キャプチャーワーカーが使用する Browserless Chrome WebSocket エンドポイント | ws://browserless:3000 |
カスタムドメインへのデプロイ
.env の APP_URL に公開 URL を設定します。
# .env
APP_URL=https://thask.example.com
SESSION_SECRET=your-random-64-char-string
これにより、CORS と CSRF 保護が自動的に設定されます。BACKEND_URL は変更する必要がありません。フロントエンドサーバーが内部 Docker ネットワーク経由でバックエンドに API リクエストをプロキシします。
Browser ──https──▶ Reverse Proxy (nginx/Cloudflare)
│
▼ :7243
Frontend (SvelteKit)
│
▼ http://backend:7244 (Docker internal)
Backend (Go)
│
▼ http://capture:7241 (Docker internal, optional)
Capture Worker (Playwright)
│
▼ postgres:5432 (Docker internal)
PostgreSQL
SSL 終端を処理するため、リバースプロキシ(例:nginx、Caddy、Cloudflare Tunnel)を前段に配置します。
ドキュメント
- アーキテクチャ — レイヤー、データフロー、ディレクトリ構成
- データベース — ER 図、テーブル、インデックス、リレーション
- API リファレンス — リクエスト/レスポンス例付きの 30 以上のエンドポイント
- グラフエンジン — ノードタイプ、エッジタイプ、GROUP、影響モード
- キーボードショートカット — すべてのショートカットと操作
- CLI リファレンス — インストール、コマンド、シェルエイリアス
- MCP ガイド — AI エージェントとの統合(Claude Code、Cursor)
- Claude Code プラグイン — すべてのセッションにプロジェクトコンテキストを自動挿入し、MCP サーバーを登録
- スキャナープラグイン — 新しい言語向けのスキャナープラグインシステム
- V1 API ガイド — サードパーティ開発者向け外部 API クイックスタート
Makefile コマンド
全機能を網羅しています。make は開発、ビルド、テスト、リリースの標準エントリポイントです。
開発
| コマンド | 説明 |
|---|---|
make dev | DB とキャプチャワーカーを起動し、その後バックエンドとフロントエンドを並行して起動 |
make dev-services | DB とキャプチャワーカーを起動(docker compose) |
make dev-db | PostgreSQL のみを起動 |
make dev-backend | air によるホットリロードで Go バックエンドを実行 |
make dev-frontend | :7243 で SvelteKit フロントエンドを実行 |
make dev-capture | Playwright キャプチャワーカーをビルドして起動 |
make db-up / make db-down | 開発用 PostgreSQL コンテナを起動/停止 |
ビルドとリリース
| コマンド | 説明 |
|---|---|
make build | CLI、バックエンド(backend/bin/server)、フロントエンドをビルド |
make build-cli | CLI バイナリを bin/thask にビルド(バージョンとコミットの ldflags 付き) |
make release-cli | CLI を 5 つのプラットフォーム向けにクロスコンパイルし、タグ付け、プッシュ、npm 公開、GitHub Release を実行します。CLI_VERSION=x.y.z を設定します(または cli/package.json から読み込みます)。npm の 2FA 用に THASKOTP=... を指定することもできます。 |
テスト
| コマンド | 説明 |
|---|---|
make test | バックエンドの Go テストとフロントエンドのチェック |
make test-backend | バックエンドの Go テスト(詳細出力) |
make test-cli | CLI の Go テスト |
make test-e2e | Playwright E2E テスト |
make bench | スキャナーとグラフ分析のベンチマーク |
Docker
| コマンド | 説明 |
|---|---|
make up | Docker Compose で全スタックを起動(初回実行時に SESSION_SECRET を含む .env を自動生成) |
make down | Docker Compose を停止 |
make clean | backend/bin、bin/、dist/、frontend/build、frontend/.svelte-kit を削除 |
ロードマップ
v0.1 — 基盤(完了)
- グラフの CRUD(ノード、エッジ、グループ)
- 7 種類のノードタイプと 4 種類のステータスに視覚スタイルを設定
- fCOSE による自動レイアウトと手動配置
- ドラッグ&ドロップによるグループ化と複合ノード
- ノード検索とキーボードショートカット
- QA 影響分析(BFS ベース)
- ステータスのウォーターフォール伝播
- セッションベース認証とチーム管理
- Docker Compose によるワンコマンドデプロイ
- Go バックエンドと 18 件の単体テスト
- Playwright E2E テスト(13 件)
- グラフ操作をすべて備えた CLI ツール
- AI エージェント統合用 MCP サーバー(12 個のツール)
- API キー認証(Bearer トークン)
- ロールベースのアクセス制御(owner/admin/member/viewer)
- チームメンバー管理(招待、ロール、移管)
- 公開リンクによるプロジェクト共有(viewer/editor モード)
- CLI の共有コマンド(share、unshare、invite、kick)
v0.2 — 外部 API とコラボレーション(完了)
- SSE によるリアルタイムコラボレーション
- グラフを PNG / JSON としてエクスポート
- グラフのインポート(置換/マージモード)
- バージョン管理された外部 API(
/api/v1/)と OpenAPI 仕様 - インタラクティブな API ドキュメント(
/api/v1/docsの Scalar UI) - v1 用の構造化エラーレスポンス
- API 利用者向けの冪等性サポート
- 外部ドメイン向けの CORS 設定
- エッジのウェイポイント(ドラッグ可能な折れ曲がり点)
- スナップガイド付き SVG エッジ描画
- 埋め込み可能なグラフビュー(
/embed/:shareToken) - 共有リンク用 OG 画像の生成
v0.3 — スキャナーとグラフインテリジェンス(完了)
-
go/ast解析を使用する Go 依存関係スキャナー(thask scan) - 循環検出(Tarjan DFS)とクリティカルパス分析
- 分析モードのフロントエンド(Shift+A で切り替え、循環/クリティカルパスを強調表示)
- MCP ツール:
thask.scan.run、thask.graph.analyze - GitHub Actions CI(バックエンドテスト、CLI テスト、フロントエンドチェック)
- ドキュメント付きスキャナープラグインシステム
v0.4 — コミュニティとエコシステム(完了)
- npm での配布(
@thask-org/cli、5 つのプラットフォームバイナリ、esbuild パターン) - スキャナープラグインインターフェース(ImportGraphRequest JSON を出力する任意の実行ファイルに対応)
- Homebrew formula テンプレート
- パフォーマンスベンチマーク(スキャナーとグラフ分析)
v0.5 — ビジュアルの洗練と分析(完了)
- システム検出機能付きライト/ダークテーマシステム
- アクティビティフィード(ユーザー情報付きの最近の変更)
- プロジェクトテンプレート(API Flow、Microservice Map、Sprint Board)
- Amber Precision デザインシステムを全面的に適用
- Markdown 説明文のレンダリング(marked + DOMPurify)
- v0.5.6 — グラフ画像のキャプチャ(Playwright ワーカーによる PNG/SVG)
- v0.5.8 — TypeScript/JavaScript 依存関係スキャナー(エイリアス解決、SvelteKit
$lib) - v0.5.9 — キーごとの権限 + 提案キュー + 6 次元
audit_log(幻覚防止ガード) - v0.5.10 — 一括エンドポイント(
node.batch_update、edge.batch_*)と HTTP 207 による部分成功;thask self-update - v0.5.11 — ブラウザー認証による
thask login;URL の自動正規化
v0.6 — ナレッジ OS の基盤(完了)
- v0.6.0 — 4 つの新しいノードタイプ(
REQUIREMENT、DECISION、EXPERIMENT、PERSON) - v0.6.0 — 9 つの新しいエッジ動詞(
realizes、conflicts、drives、supersedes、tests、produced、owns、decided、reported) - v0.6.0 — ドメインのライフサイクル状態フィールド(
statusとは独立) - v0.6.0 — エッジごとの JSONB
metadata - v0.6.0 — スレッド形式のノードコメント(
node_comments) - v0.6.0 — ノードごとのファイル添付(
node_attachments+THASK_ATTACHMENT_DIRボリューム) - v0.6.0 — プロジェクトの標準タグ(
project_tags) - v0.6.0 — プロジェクトごとの API キースコープ設定
今後の予定
- グラフのバージョンスナップショットと差分表示
- ノードのライフサイクル分析(ステータス滞在時間、ボトルネック検出)
- グラフ変更時の Webhook トリガー
- GitHub リポジトリ同期(プッシュ時にグラフを自動更新)
- Slack / Discord 通知
- モバイル対応レイアウト
- セルフホスト型 SSO(SAML / OIDC)
コントリビューション
コントリビューションを歓迎します!セットアップ手順とガイドラインについては、CONTRIBUTING.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
