メインコンテンツへスキップ

あなたのvaultを、ターミナルから

taskforgeは、Obsidian vault内のタスクを読み書きする小さなコマンドラインツールです。アプリと同じパーサーを使っているので、繰り返しタスクは正しく進み、アーカイブは正しい場所に収まり、タスク行はあなたのフォーマットのまま保たれます。シェルスクリプトやエージェントに渡せば、実際のマークダウンファイルを編集します。ホスト型のサービスは一切ありません。

TaskForge 3.0で登場予定

TaskForgeのCLIとMCPサーバーは、TaskForge 3.0のリリースで提供されます。このページの内容は、公開時にどのように動作するかを説明したものです。TaskForgeアプリ自体は今すぐご利用いただけます。

CLIかMCPサーバーか

MCP接続のないシェル環境、スクリプトやcron、CI、リポジトリのチェックアウト内で動くコーディングエージェントなどでは、CLIを使ってください。エージェントがすでにTaskForgeへのMCP接続を持っているなら、MCPツールの方がおすすめです。型があり、エージェントが自己修正できる構造化されたエラーを返し、PATHに何も必要ありません。どちらも同じエンジンを同じ意味論で動かすので、ランタイムにすでに用意されている方を選べば十分です。vaultファイルを手で編集するのは最後の手段です。

インストール

macOSとLinuxでは、Homebrew経由でインストールできます。

公開時に利用可能
brew install azhard/tap/taskforge

npmの方がよければ、同じバイナリがパッケージとしても配布されています。

公開時に利用可能
npm install -g taskforge

vaultを開いたときに自動でインストールされるアプリ同梱版は近日公開予定です。それまでは、上記のtapが唯一の入手方法です。

クイックスタート

--vaultでtaskforgeにvaultの場所を伝えるか、TASKFORGE_VAULTを一度設定しておきます。読み取り系のコマンドはすべて--jsonに対応しており、エージェントが解析できる機械可読な出力を返します。

taskforge schema

vaultのタスク方言を表示します。ステータス記号、日付フォーマット、カスタムフィールド、新しいタスクの追加先。エージェントが最初に読むのはこれです。

taskforge add "call the plumber" --due 2026-07-10 --priority high

vaultのデフォルトの新規タスク追加先にタスクを追記します。フォーマットは、あなたのvaultがタスクを書く形式に従います。

taskforge query 'prop:priority_label=urgent' --sort priority --count

カスタムフィールド priority_label:: urgent を持つタスクの数を数えます。最も緊急度の高いものから順です。--count を外せば一覧表示になります。

taskforge query 'desc:"invoice" text:acme' --json

説明にinvoiceを含み、タイトルにacmeを含むタスクをJSONで検索します。アクセント記号と大文字小文字は無視されるので、cafeはcaféにもマッチします。

taskforge done <task-id>

タスクを完了します。繰り返しタスクの場合、次の回がファイルに書き戻されます。アプリが行うのとまったく同じ形です。

taskforge show <task-id> --json

1件のタスクをコンテンツハッシュ付きで読み取ります。後続の編集で --if-hash を渡せば、古いコピーへの上書きを防げます。

クエリ文法

クエリ引数は、スペース区切りのトークンの集合です。すべてのトークンが一致する必要があります。よく使うものは次のとおりです。

text:word タイトルにその単語を含む(アクセント記号・大文字小文字を区別しない)。 text:groceries
desc:"phrase" タスクの説明にそのフレーズを含む。 desc:"send invoice"
tag:name タスクが #name タグを持つ。 tag:work
prop:key=value カスタムフィールド key の値が value と一致する。 prop:area=home
prop:key カスタムフィールド key が存在する(値は問わない)。 prop:estimate
--sort due|priority|created 結果を並べ替える。デフォルトは期日順で、近いものから先。 --sort priority
--count タスクの代わりに、一致件数を返す。 --count

カスタムフィールドのキーには、英字、数字、アンダースコアを使えます。priority_label と area_2 のどちらも有効です。

唯一の要件: vaultコントラクト

taskforgeは、TaskForgeがあなたのvault内に書き込む小さなコントラクトファイル taskforge/schema.json を読み取ります。これはあなたの正確なタスクフォーマットを記述したもので、CLIは推測ではなく、あなたのやり方でタスクを編集できます。TaskForge 3.0以降でそのvaultを一度開き、Settings > AI & Agents に進んで'Generate agent files'をオンのままにしてください。これでコントラクトが書き込まれます。

taskforgeがvaultを見つけられない場合、vaultを指定する3つの方法を表示します。

  1. コマンドに --vault /path/to/vault を渡す。
  2. TASKFORGE_VAULT 環境変数を設定する。
  3. TaskForge 3.0以降でそのvaultを一度開いて taskforge/schema.json を作成し、vaultフォルダの中から実行する。

ローカルのみ

taskforgeはあなたのマシン上で動作し、指定したvault内のマークダウンファイルにのみ触れます。アカウントもAPIキーもネットワーク通信も不要です。iCloud、Dropbox、Obsidian Syncなど、すでにvaultを同期している仕組みが、変更を他のデバイスにも届けます。

エージェントに操作させたいですか?

CLIはターミナルやスクリプト向けです。Claude Desktopや他のMCPクライアントにツールインターフェース経由でタスクの追加や完了をさせたい場合は、代わりにMCPサーバーをセットアップしてください。同じvault、同じルールです。どちらも同じtaskforgeバイナリなので、taskforge mcp --stdioを実行するだけでMCPサーバーに切り替わります。

MCPサーバーをセットアップ →

CLIがタスクを編集する。アプリがそれを活かし続ける。

taskforgeはどのターミナルからでもあなたのvaultに書き込みます。TaskForgeは同じファイルを、スマートフォンとデスクトップのリスト、ウィジェット、リマインダーに変えます。iPhone、iPad、Mac、Androidで無料ダウンロードできます。