あなたの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つの方法を表示します。
- コマンドに --vault /path/to/vault を渡す。
- TASKFORGE_VAULT 環境変数を設定する。
- 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で無料ダウンロードできます。