保管庫を、ターミナルから
taskforge は、Obsidian の保管庫にあるタスクとノートを扱うコマンドラインの ToDo アプリです。タスクの検索と完了、ノートの作成と編集ができ、同じコマンドをシェルスクリプトやエージェントに任せることもできます。アプリと同じパーサーを使い、お使いのマシン上に実際の Markdown ファイルを書き込みます。
CLIかMCPサーバーか
MCP接続のないシェル環境、スクリプトやcron、CI、リポジトリのチェックアウト内で動くコーディングエージェントなどでは、CLIを使ってください。エージェントがすでにTaskForgeへのMCP接続を持っているなら、MCPツールの方がおすすめです。型があり、エージェントが自己修正できる構造化されたエラーを返し、PATHに何も必要ありません。どちらも同じエンジンを使い、動作も同じなので、ランタイムにすでに用意されている方を選べば十分です。保管庫ファイルを手で編集するのは最後の手段です。
インストール
Node.js で試す(npm と npx が含まれます):
taskforge コマンドをグローバルにインストール:
npm/npx を含む Node.js が必要です。npm は macOS、Windows(x64)、Linux(x64 と arm64)向けのネイティブバイナリをインストールします。TaskForge アプリの Linux 版はまだありません。Linux では CLI と MCP サーバーを使えます。CLI はアプリとは別にインストールします。Homebrew はサポート対象外です。
クイックスタート
--vaultでtaskforgeに保管庫の場所を伝えるか、TASKFORGE_VAULTを一度設定しておきます。読み取り系のコマンドはすべて--jsonに対応しており、エージェントが解析できる機械可読な出力を返します。
保管庫のタスク書式の定義(dialect)を表示します。ステータス記号、日付フォーマット、カスタムフィールド、新しいタスクの追加先。エージェントが最初に読むのはこれです。
保管庫のデフォルトの追加先にタスクを追記します。書式は、その保管庫でのタスクの書き方に従います。
カスタムフィールド priority_label:: urgent を持つタスクの数を数えます。最も緊急度の高いものから順です。--count を外せば一覧表示になります。
説明にinvoiceを含み、タイトルにacmeを含むタスクをJSONで検索します。アクセント記号と大文字小文字は無視されるので、cafeはcaféにもマッチします。
タスクを完了します。繰り返しタスクの場合、次の回がファイルに書き戻されます。アプリが行うのとまったく同じ形です。
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 のどちらも有効です。
必要なのはひとつだけ:保管庫の仕様ファイル
taskforgeは、TaskForgeが保管庫内に書き込む小さな仕様ファイル TaskForge/Settings/dialect.json を読み取ります。このファイルにはその保管庫のタスクの書式が正確に書かれているので、CLIは推測せず、いつもの書き方のままタスクを編集できます。TaskForge 3.0以降でその保管庫を一度開き、設定 > AIとエージェント で「エージェント用ファイルを生成」をオンのままにしてください。これで仕様ファイルが書き込まれます。TaskForge/Settings は初期設定の場所で、ベースフォルダの名前はアプリで変更できます。
taskforgeが保管庫を見つけられない場合、保管庫を指定する3つの方法を表示します。
- コマンドに --vault /path/to/vault を渡す。
- TASKFORGE_VAULT 環境変数を設定する。
- TaskForge 3.0以降でその保管庫を一度開いて TaskForge/Settings/dialect.json を作成し、保管庫フォルダの中から実行する。
ローカルのみ
taskforgeはお使いのマシン上で動作し、指定した保管庫内のMarkdownファイルにだけ触れます。アカウントもAPIキーもネットワーク通信も不要です。iCloud、Dropbox、Obsidian Syncなど、すでに保管庫の同期に使っている仕組みが、変更をほかのデバイスに届けます。
エージェントに操作させたいですか?
CLIはターミナルやスクリプト向けです。Claude Desktopや他のMCPクライアントにツールインターフェース経由でタスクの追加や完了をさせたい場合は、代わりにMCPサーバーをセットアップしてください。同じ保管庫、同じルールです。どちらも同じtaskforgeバイナリなので、taskforge mcp --stdioを実行するだけでMCPサーバーに切り替わります。
MCPサーバーをセットアップ →タスクの編集はCLIで。表示と通知はアプリで。
taskforgeはどのターミナルからでも保管庫に書き込みます。TaskForgeは同じファイルを、スマートフォンとデスクトップのリスト、ウィジェット、リマインダーにします。iPhone、iPad、Mac、Android、Windowsで無料ダウンロードできます。