mcpField
J
jdex

jdex

github.com/johnnydecimal生産性16107 回インストール4 日前に更新
リポジトリ

jdex について

jdexは、Johnny.Decimalの規則に沿って個人のJDexを読み書きするためのエージェント向けスキルです。jd MCP サーバーとJD CLIを使い、現在のIDに作業範囲を限定します。

主な機能

  1. 01現在のIDからノートを特定
  2. 02Johnny.Decimalの定義を取得
  3. 03JD CLIでファイルパスを確認
  4. 04JDexのMarkdownノートを読み書き
  5. 05ユーザーの範囲指定と記述指示に従う

活用シーン

  1. 01現在のIDに対応するノートを探す
  2. 02システム文書に基づいてJDの規則を回答
  3. 03適切なJDex項目にユーザーの指示を記録
  4. 04設定やMCP接続がない場合の対応を判断

MCP 対応

Johnny.Decimalのシステム情報を得るためjd MCP サーバーに依存し、最初にget_account、必要に応じてget_idを呼び出します。未接続の場合は制約を伝え、vaultのみで作業を続けます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/johnnydecimal/skills --skill jdex

インストール後、Claude Code で/jdexを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

前提条件

  • このスキルでは、JD システムのコンテキストを把握するために johnnydecimal スキルが必要です。
  • このスキルは情報を探してメモを書きます。ファイルを移動することはありません。以下の「移動とファイリング」では JD CLI がファイルを移動します。CLI がない場合は、各ファイルの保存先をユーザーに伝え、ユーザー自身に移動してもらってください。

jd MCP サーバー

Johnny.Decimal に関する情報は、記憶ではなく jd MCP サーバーから得ます。ボルトは、その上にユーザー自身が重ねるものです。

最初に get_account を呼び出します。アカウントが所有するシステムと Pro の有無が示されるため、回答に使えるツールがわかります。各ツールの説明には、それぞれの機能が記載されています。ここにそれらの説明を別途コピーして保存しないでください。

どの情報源が回答に適しているか:

  • ユーザーのメモ、ファイル、ビジネスについては、ボルトから回答します。ユーザー自身のコンテンツに関する事実を確認するために MCP を使わないでください。
  • Johnny.Decimal 自体の仕組みについては、ドキュメント用ツールを呼び出します。JD に関する質問に記憶で答えないでください。
  • アクティブな ID については、以下の順序で両方を読み取ります。

サーバーに接続されていない場合は、そのことを一度伝えてから、ボルトのみを使って続けます。失われるものを伝えてください。サーバーがない場合、Johnny.Decimal に関する質問には記憶で回答することになり、それが誤った回答につながります。次の方法で接続します:

claude mcp add --transport http jd https://johnnydecimal.com/mcp

設定ファイルと CLI の場所

JD CLI は、ファイルのパスを把握しています。各パスは CLI から取得します。CLI がパスを表示できる場合、自分でパスを計算しないでください。

  • プログラムは ~/.local/share/johnnydecimal/cli/bin/jd です。事前に source する必要はありません。
  • ~/.local/share/johnnydecimal/cli/bin/jd paths config は、設定ファイルのパスを出力します。
  • ~/.local/share/johnnydecimal/cli/bin/jd paths は、設定ファイル、ジャーナル、CLI を含むフォルダーの3つのパスを出力します。

バージョン 4.0 より前は、CLI はすべてのファイルを ~/.jd に保存していました。プログラムは ~/.jd/cli/bin/jd、設定ファイルは ~/.jd/config.json でした。引き続き ~/.jd にある CLI も動作します。

  • プログラムが最初のパスにない場合は、~/.jd/cli/bin/jd help を実行します。このコマンドが動作する場合は、このスキルに記載された各コマンドで ~/.jd/cli/bin/jd を使います。
  • CLI が ~/.jd にある場合は、そのことを一度ユーザーに伝えます。CLI を更新して移動できることも伝えてください。サーバーの install_cli に手順があります。実行する前にユーザーに確認してください。自分でファイルを移動しないでください。
  • paths がエラーを返す場合、CLI は 4.0 より古いバージョンです。この場合、設定ファイルはユーザーが設定していれば $JD_CONFIG、設定していなければ ~/.jd/config.json です。CLI が古いことと、更新手順が install_cli にあることを一度ユーザーに伝えてください。
  • jd が ~/.jd 内のファイルについて出力する場合、CLI は 4.0 以降ですが、そのファイルはまだ ~/.jd にあります。そのことを一度ユーザーに伝えてください。jd agent-setup は、そのファイルの移動方法を示すプロンプトを出力します。プロンプトに従う前にユーザーに確認してください。

どちらのパスにも CLI がない場合は、以下のリストで該当する最初の項目を使います:

  1. $JD_CONFIG が設定されている場合は $JD_CONFIG。$JD_CONFIG は設定ファイルのパスです。
  2. $XDG_CONFIG_HOME が設定されている場合は $XDG_CONFIG_HOME/johnnydecimal/config.json。
  3. ~/.config/johnnydecimal/config.json。
  4. 項目2または項目3のパスにファイルがない場合は、~/.jd/config.json。

JDex とファイルシステム

並行する構造が2つあります。どちらも同じ JD 階層を使います。パスは設定ファイルから取得します。これは正規の Johnny.Decimal クライアント設定です。設定ファイルの場所は、上のセクションの説明に従って確認してください。最初に一度だけ読み込みます。systems リストの各エントリには、次の項目があります。

  • jdex — インデックスです。Markdown のノートで、通常は Obsidian の保管庫です。情報を調べたり、ドキュメントを作成したりする場所です。
  • root — ファイルシステムです。JD の構造に従ったフォルダーに、実際のファイル(PDF、画像、ドキュメント)が格納されています。

設定に複数のシステムがある場合、ユーザーが別のシステムを指定しない限り、default: true と記されたエントリを使います。

設定ファイルがない場合、または使用するシステムに jdex パスがない場合は、JD CLI が設定ファイルを書き込みます。~/.local/share/johnnydecimal/cli/bin/jd agent-setup を実行してください。ユーザーの口調で、各システムを特定し、それぞれの root を確認して設定ファイルを書き込むためのプロンプトが表示されます。その指示に従ってください。CLI がインストールされていない場合は、先にサーバーで install_cli を呼び出します。このスキルは手順を保存しておらず、記憶を頼りにファイルを書き込むこともありません。書き込む前に確認してください。

config.json という名前のファイルが2つあり、それぞれ異なる質問に答えます。キーで見分けてください。

  • 設定ファイルには systems リストがあります。どのシステムがあり、どこにあるかを示します。マシンごとに1つです。
  • 作業フォルダー内の .jd/config.json には id があります。そのフォルダーがどの ID に関するものかを示します。systems リストは含みません。

どちらかがもう一方を上書きすることはありません。フォルダー内の config.json に root または jdex が含まれている場合は、そのフォルダーに限り、そちらを優先します。

以下の例では、$JD_JDEX と $JD_ROOT はこれら2つのパスを表します。実際の値に置き換えてください。シェル変数は Bash の呼び出し間で保持されません。

JD の番号付けにより、パスは決定的に定まります。ID の数字からフォルダーが分かります。

  • ID 13.42 → 10-19*/13*/13.42*
  • ID 63.14 → 60-69*/63*/63.14*
  • 作業パッケージ W0189 → W0000-9999*/W0189*

作業パッケージは任意の追加領域 W0000-9999 にあり、W0189 形式の ID を格納します。カテゴリ階層はなく、その領域に直接配置されます。通常、名前には ~ と通常の ID が含まれます。たとえば W0189~21.41 は、そのパッケージが 21.41 に属することを意味します。名前の残りは変わるため、番号だけで W0189* をグロブ検索してください。エントリは単一の .md ファイルの場合も、複数のファイルが入ったフォルダーの場合もあります。

ファイルシステムは常に次のようにネストされています。JDex はそうとは限らないため、$JD_JDEX を一度だけ ls してレイアウトを確認してください。

  • ネスト型 — ルートに 10-19 Life admin のようなエリアフォルダーがあります。ノートは $JD_JDEX/10-19*/13*/13.42* にあります。JDHQ の Obsidian ダウンロードは、これがデフォルトです。
  • フラット型 — ルートに 13.42 Some title.md のようなノート自体があります。ノートは $JD_JDEX/13.42* にあります。フォルダーを扱わないノートアプリではこの形式になり、ダウンロード版も用意されています。
  • 単一ファイル型 — ルートが1つの .md ファイルです。そのファイルを読み込み、内部で作業してください。

最初の2つはどちらも通常の形式です。フラット型の JDex を、ネスト型が壊れたものとして扱わないでください。

そのため、次のように単一のグロブで直接アクセスできます。

  • JDex のノート:フラット型は $JD_JDEX/13.42*、ネスト型は $JD_JDEX/10-19*/13*/13.42*(.md ファイル)
  • ファイルシステムのフォルダー:$JD_ROOT/10-19*/13*/13.42*(実際のファイル)
  • 子エントリ:$JD_ROOT/10-19*/13*/13.42*/+Savings/

数字からパスが分かります。検索しないでください。

使用する ID

  • アクティブ IDはセッションごとに一度、次の優先順位で決まります。

    1. 現在のフォルダー名の先頭にある ID。例:12.34 My folder、または W0189~21.41 Some package。これが通常のケースです。ユーザーは ID フォルダー内で直接 Claude を開くため、まずこれを確認してください。NN.NN または WNNNN のみを照合します。カテゴリ(13 Money)やエリア(10-19 Life admin)は ID ではありません。
    2. このフォルダーが対象とする ID を指定した .jd/config.json。例:{"id": "12.34"}。ユーザーが複数のシステムを使っている場合は、"sys": "D25" も指定します。作業ディレクトリから上位にたどり、最初に見つかったものを使います。ホームフォルダーで探索を止めます。最も近いものが優先されます。この用途で ~/.jd/config.json を使わないでください。このファイルは旧 CLI の設定ファイルで、id がありません。
    3. 親フォルダー名の先頭にある ID。最も近いものから確認します。これは、12.34 Receipts/2026-03 のようにサブフォルダー内で作業する場合に当てはまります。
    4. 尋ねられたときにユーザーが明示した ID。
  • アクティブ ID が設定されたら、その ID を使い続けてください。読み取り、書き込み、ドキュメント作成はすべて、その ID の JDex エントリに対して行います。

  • 他のエントリを探すために JDex を閲覧、スキャン、探索しないでください。JDex はしらみつぶしに確認するタスクリストではありません。アクティブ ID に対して作業してください。

  • 別の ID に切り替えるのは、ユーザーが「次は 56.78 を確認して」や「W0189 を更新して」のように、新しい ID を明示した場合のみです。メモ内、関連リンク、会話の文脈に他の ID が出てきても、切り替えの指示ではありません。

  • ユーザーが別の ID を望んでいるかどうか不確かな場合は、確認してください。推測しないでください。

  • 対象範囲内のフォルダー名に ID がなく、.jd/config.json もなく、ユーザーも ID を指定していない場合は、作業を中止してください。ユーザーに「どの JDex ID を使えばよいですか?」と尋ねます。JDex 内で一致するものを探したり、プロジェクト名から推測したり、ユーザーが ID を伝える前に作業を続けたりしないでください。

公開済み ID を最初に読む

アクティブ ID が設定されたら、その ID に対して一度 get_id を呼び出します。その後、同じ ID のユーザー自身の JDex メモを読みます。

  • get_id は、その ID の公開済み定義と、その ID に適用される補足情報(追加資料、運用マニュアル)を返します。
  • 運用マニュアルは、手順を順番に示すものです。返された場合は、ユーザーにその存在を伝え、手順に従うかどうかを尋ねます。ユーザーが了承した場合に限り、get_id で本文を取得します。本文をユーザーのメモに貼り付けないでください。
  • 実際の作業方法についてはユーザーのメモを優先します。公開済みシステムの説明については、ユーザーのメモよりスキャフォールドを優先します。
  • サーバーに接続されていない場合、またはアカウントがそのシステムを所有していない場合は、呼び出しを省略します。その旨を一度伝えて、作業を続けます。

AC.05 はあなたのものです

管理する ID は AC.05 のみです。ここには、後のセッションで読み返せる自分のメモと、このシステムの該当部分に関するユーザーの継続的な指示の 2 つを保存します。公開済みの Johnny.Decimal システムでは、.05 を他の用途には使用しません。

セッションの開始時に、範囲の狭いものから順に読みます。

  1. <category>.05。ID 13.33 なら 13.05 を読みます。
  2. <area management category>.05。エリア 10-19 なら 10.05 を読みます。
  3. システム全体を対象とする 00.05。

JDex のレイアウトに従い、他の ID と同じ方法で glob を使います。フラットな場合は $JD_JDEX/13.05*、ネストされている場合は $JD_JDEX/10-19*/13*/13.05* です。作業パッケージの場合は、そのパッケージが属する ID を使います。W0189~21.41 なら、21.05、20.05、00.05 の順に読みます。

  • 同じ点については、範囲の狭いメモを広いメモより優先します。3 つのメモはいずれも、このスキルの一般ルールより優先されます。
  • 学んだ内容に範囲が合致するメモに書き込みます。システム全体に当てはまる内容は 13.05 ではなく 00.05 に書きます。
  • ユーザーが従うよう指示した内容は、すべてユーザーの指示です。その指示として記録し、編集したり覆したりしてはいけません。
  • 後のセッションで必要になる内容だけを書き、それ以外は書きません。これは作業用メモであり、ログではありません。古くなった内容は削除します。
  • それでも、これはユーザーの保管庫です。ユーザーに見せられない内容を AC.05 に保存してはいけません。
AC.05 ノートの作成

必要なノートがない場合は、作成してください。

名前は AC.05 AI for <location> ✨ にします。同じ場所にある AC.01 ノートから <location> をコピーしてください。AC.01 は受信トレイで、常に存在します。

これを読むこれを書く
13.01 Inbox for category 1313.05 AI for category 13 ✨
10.01 Inbox for area 10-1910.05 AI for area 10-19 ✨
00.01 Inbox for the Small Business System00.05 AI for the Small Business System ✨
  • 隣接するノートに絵文字がない場合は、✨を付けないでください。ユーザーは絵文字をオフにしています。
  • 書き込む内容があるときに作成してください。必要になるかもしれないというだけで作成しないでください。
  • ここで作成するのはJDexノートだけです。ファイルシステムのフォルダーは作成しないでください。手作業で書くノートはこれだけです。その他の新しいIDはすべて、後述の「項目の作成」に従ってCLI経由で作成します。

JDexの使用

  • 各項目はMarkdownファイルです。直接アクセスするには、上記のようにIDの数字を使ってglob検索します。
  • このスキルの使用中にユーザーが「これを文書化して」や「まとめて書いて」と言った場合、ローカルのCLAUDE.md、README、その他のファイルではなく、JDexの項目に書くという意味です。
  • タスクに関連する場合は、Relatedメタデータフィールドのリンクをたどってください。関連項目を参考として読むのは問題ありませんが、アクティブなIDは変わりません。ユーザーが別のIDを明示的に指定しない限り、すべての書き込みはアクティブなIDの項目に行ってください。
    • 関連する場合はリンクを作成してください。最短の [[12.34 Title]] wikiリンク構文を使ってください。

項目の作成

  • ノートを書く前に、同じカテゴリの隣接するノートを読んでください。そのレイアウトに合わせてください。一般的なルールよりも、ユーザー自身の慣習を優先します。
  • JDexの更新を推奨します。ユーザーが書いた内容を見つけて確認できるようにしてください。次の2つの方法のいずれかで印を付けます。
    • ファイルを書いた場合、または全体を書き直した場合は、ファイル全体を自分の担当として示します。メタデータブロックの区切り線より上に Owner: エントリを追加します。インラインタグは使用しません。

      - Owner:
      	- #claude
      
    • ファイルがユーザーのもので、その一部を変更する場合は、変更した部分だけにタグを付けます。

      • タグ付きの見出しは、その下にあるすべての内容(サブ見出しを含む)を対象にします。見出しだけにタグを付け、それ以外には付けません。
      • タグ付きセクションの外では、追加または変更した各行にタグを付けます。
      • ユーザーが書いた行にはタグを付けないでください。
    • どちらの場合も、区切り線より上に追加したwikiリンクにはタグは不要です。区切り線より上とは、Related:やURL:がある区切り線より前のメタデータブロックです。そこにあるリンクはコンテンツではなく、ナビゲーション用です。

  • 更新した場合は、wikiリンクをたどり、リンク先のページにも更新が必要か確認してください。
    • 必要性が明らかな場合は、そのまま修正してください。
    • 判断に迷う場合は、質問してください。

物を作成する

JD CLI は新しい ID と作業パッケージを作成します。新しい ID のノートやフォルダーを手作業で作成してはいけません。CLI は次に空いている番号を選び、ユーザーのテンプレートからノートを作成して、フォルダーを作成します。これらはどれも手作業では間違えやすいものです。

プログラムは ~/.local/share/johnnydecimal/cli/bin/jd です。事前に何かを source する必要はありません。~/.local/share/johnnydecimal/cli/bin/jd help で確認してください。プログラムが見つからない場合は、~/.jd/cli にあることがあります。上記の「設定ファイルと CLI の場所」のセクションを参照してください。

  • 新しい ID:~/.local/share/johnnydecimal/cli/bin/jd new id 21 A title。カテゴリ 21 で次に空いている ID を作成します。特定の ID を指定するには、21 の代わりに 21.34 を指定します。カテゴリはユーザーが指定します。新しい ID の作成に、事前にアクティブな ID は必要ありません。
  • 新しい作業パッケージ:~/.local/share/johnnydecimal/cli/bin/jd new wp 21.41 A title。次に空いている W 番号を作成し、そのパッケージは 21.41 に属します。
  • タイトルを引用符で囲む必要はありません。-- で始まる最初の単語までの、すべての単語がタイトルになります。
  • --dry-run は作成される内容を表示し、実際には何も作成しません。確信が持てない場合に使ってください。
  • --json は分岐処理に使えるオブジェクトを 1 つ出力します:{ "ok": true, ... } または { "ok": false, "code": "...", ... }。toFill リストには、値を指定しなかったテンプレートトークンが示されます。各トークンにはフラグがあります:{{?SCOPE}} は --scope です。値をユーザーに尋ねるか、値がわかっている場合は指定してください。
  • システムが複数ある場合は、--system を先に指定します:~/.local/share/johnnydecimal/cli/bin/jd --system P76 new id 21 A title。
  • jd が beta は無効だと表示する場合、CLI のバージョンは 4.2.0 より古いです。ユーザーに伝えてください。サーバー上の install_cli に更新手順があります。実行する前に許可を求めてください。

作成した ID は、その時点からアクティブな ID になります。そこに書き込む前に、そのノートを読んでください。テンプレートが形式を定めており、ユーザーの規約もそこに記載されています。

CLI がインストールされていない場合は、サーバー上の install_cli を呼び出し、その手順に従ってください。サーバーにも接続できない場合は、停止してその旨を伝えてください。ID を手作業で作成してはいけません。

唯一の例外は、上記の AC.05 ノートです。番号が固定されており、そのフォルダーはあなたが作成するものではないため、ノートは自分で作成します。

ファイルの移動

ファイルの移動では、ユーザーが既存のファイルをインストール済みのシステムに取り込みます。プロセスはサーバーの move_in ツールが管理します。このスキルが定めるのは CLI とノートに関するルールだけで、それ以外は扱いません。ユーザーが既存のファイルをシステムに取り込みたい場合は、システムと las または sbs を指定して move_in を呼び出してください。返された内容に従ってください。

  • ファイルの移動には ~/.local/share/johnnydecimal/cli/bin/jd move を使います。このフルパスを使用してください。mv は実行しないでください。ファイルやフォルダーを削除してはいけません。ファイルを移動するのは CLI であり、あなたではありません。上記の「物を作成する」にある新しい ID にも同じルールが適用されます。
  • 実行の状態は 00.05 ノートの ## yyyy-mm-dd Moving in という見出しの下にあります。move_in がその下の小見出しを指定します。毎回のセッションで、まずそのセクションを読んでください。そのセクションの管理者はあなたです。上記の「文書の作成」で示されている方法で記録してください。
  • ファイルの中を読むかどうかはユーザーが決めます。move_in は一度だけ確認し、その回答をノートに記録します。記録された回答に従ってください。再度尋ねてはいけません。
  • 下記の「ファイリング」では、適切な名前とサブフォルダーについて説明します。

ファイリング

ファイリングでは、ファイルを並べ替え可能な名前で ID に格納します。ファイルの移動中、およびユーザーから求められたときに行います。ファイルをどの ID に入れるかは、上記の「使用する ID」で決まります。このセクションでは、格納先、つまり名前、サブフォルダー、ノートの行について説明します。

名前とサブフォルダーに関する公開ルールはサーバーにあります。naming-files と subfolder-patterns について get_documentation を呼び出し、その指示に従ってください。ここにコピーを保存してはいけません。

move_in では、いつ提案するかと、ユーザーがバッチごとに承認することを説明しています。このセクションでは、適切な名前とサブフォルダーについて説明します。両者の内容を重複させないでください。

移動の方法

移動は jd move を 1 回実行するだけです。「Moving in」に記載されている方法と同じです。名前の変更であっても、mv は絶対に実行しないでください。jd move はファイル名を変更しながら移動し、必要に応じて作成した ID のサブフォルダーに配置します。構文を確認するには、~/.local/share/johnnydecimal/cli/bin/jd move --help を実行してください。記憶に頼って作業しないでください。ヘルプにどちらも記載されていない場合、CLI は古いバージョンです。その旨をユーザーに伝えてください。サーバー上の install_cli に更新手順があります。実行する前に、ユーザーに確認してください。

提案する名前

整理するファイルにはすべて、より適切な名前を提案してください。

  • 可能であれば、日付を先頭に yyyy-mm-dd 形式で付けます。ファイル名、ファイルのメタデータ、ファイルの内容の順に確認してください。ユーザーの許可がある場合に限り、内容を読んでください。その回答は、上記の「Moving in」に記録されています。
  • 分かるのが年と月までなら yyyy-mm、年だけなら yyyy を使います。日付が見つからないファイルには日付を付けません。日付を捏造してはいけません。
  • 次に対象の種類、続いて差出人または対象者を記載します。たとえば、2024-03-31 Statement ANZ.pdf のようにします。文頭のみ大文字にします。単語の間にはスペースを入れます。
  • 請求書番号など、元の名前にある参照番号は残してください。
  • (1)、copy、FINAL のような連番や語句は削除します。バージョンが 1 つしかない場合は、バージョン表記も削除します。IMG_ や Scan など、カメラやスキャナーによる接頭辞も削除します。
  • ID の名前にすでに含まれている語句は削除します。13.31 Purchase receipts の場合、ファイル名に「receipt」は不要です。
  • 見つけたときの拡張子をそのまま残してください。

サブフォルダー

サブフォルダーを作るには、次の 2 つが必要です。両方を満たさない場合、ファイルは ID 内にそのまま置きます。

  1. グループ。同じものを共有する複数のファイル。たとえば、1 つの口座、旅行、取引先に関するものです。
  2. パターン。subfolder-patterns ページにある 3 つのうちの 1 つ。日付、アルファベット、または 10~90 です。

「複数」の目安は約 5 ファイルです。判断はあなたに任されています。サブフォルダーを作る前に、ユーザーの承諾を得てください。

注記の行

サブフォルダーを作成するたびに、ID の JDex 注記に --- の下へ 1 行追加してください。その行には、サブフォルダーの名前と内容を記載します。

- Subfolder `Statements ANZ`: monthly statements, one file per month.

上記の「Writing things」の説明に従って記載してください。

フォルダーごと移動する場合

  • フォルダーにも、ファイルと同様に名前を提案します。
  • フォルダーの中を確認してください。中のファイルが一定のパターンに従っている場合は、見つけた状態のままフォルダーを移動します。
  • 中身が整理されていない場合は、名前を一括変更することを提案して、確認を求めてください。どちらのケースに当たるかは、あなたが判断します。
  • 確認なしに、フォルダー内の名前を変更してはいけません。

情報を探す

ユーザー自身の情報に関する質問では、どのような場合も JDex から調べ始めてください。 ファイルを探す、支払いを追跡する、プロセスを理解する、仕組みに関する事実を尋ねるなど、どのような質問でも同じです。まずインデックスを確認してください。移動先を探してファイルシステムをあちこち調べてはいけません。また、サブエージェントに委任してはいけません。スキルのコンテキストは引き継がれないためです。答えまたはそのリンクはインデックスにあります。

ステップ 1:構造で絞り込んでから一覧表示する

番号付けされているため、インデックス全体を確認する必要はありません。順にたどってください。

  1. jdex のルートで ls を実行します。これで構成が分かります。ネスト構造なら数行、フラット構造なら ID ごとに 1 行が表示されます。ファイルが 1 つだけなら、そのファイルを読み、ここで終了します。
  2. ネスト構造 — ルートからエリアが分かります。質問が示すエリア内のカテゴリを一覧表示し、次に該当しそうなカテゴリ内の .md ファイルを一覧表示します。どのエリアかまだ判断できない場合は、すべてのエリアのカテゴリを一覧表示してください。それでも数は少ないはずです。 フラット構造 — ルートにすべての項目がすでに表示されています。カテゴリで絞り込みます。たとえば、ls "$JD_JDEX"/13.* を実行します。
  3. これらが項目のタイトルです。一致するものがあるか確認してください。

項目の名前は AC.ID Title.md、または作業パッケージの場合は W0189~21.41 Title.md です。AC.00~AC.09 はファイリング先ではなくシステム管理用です。無視してください。どのステップでも、注記本文を読んではいけません。

質問がカテゴリをまったく示していない場合は、ルート以下のすべての .md ファイルを一度に一覧表示してください。

find "$JD_JDEX" -name '*.md' -not -path '*/.obsidian/*'

これは負荷の高い方法です。大きなボルトでは数千行に及びます。可能であれば、先に範囲を絞り込んでください。

結果は 13 Money > 13.42+ Savings のように JD パスで提示してください。

タイトルに一致するものがなければ、コンテンツ検索に切り替えます。obsidian search query="..." format=json を実行してください。

ステップ 2:必要に応じてファイルシステムを確認する

JDex のノートだけでなく、実際のファイルをユーザーが求めている場合に限ります。次の glob を使って直接移動します。

ls $JD_ROOT/10-19*/13*/13.42*             # the ID folder
ls $JD_ROOT/10-19*/13*/13.42*/+Savings/  # a child entry

「X はどこにありますか?」と尋ねられているだけなら必要ありません。

Obsidian

  • JDex は通常 Obsidian の保管庫です。ルートには .obsidian フォルダーがあります。
  • command -v obsidian で obsidian コマンドを確認します。このコマンドは保管庫を直接検索します。
  • obsidian help で、すべてのコマンドを確認できます。ここで役立つコマンドは次のとおりです。
    • obsidian search query="..." format=json — ファイル名だけでなく、コンテンツも検索します。
    • obsidian backlinks file="12.34 Some title.md" — このファイルへのリンクを確認します。
    • obsidian links file="12.34 Some title.md" — このファイルがリンクしている先を確認します。

コメント