株式会社プルスコード
PlussCode
Supporting business success through events and IT services.
0  /  100
keyboard_arrow_up
keyboard_arrow_down
keyboard_arrow_left
keyboard_arrow_right

CursorとObsidianによる統合ディレクトリ管理

CursorとObsidianによる統合ディレクトリ管理の画像
Cursor と Obsidian を連携したディレクトリ管理の取り組み

株式会社プルスコード IT事業部です。私たちは、「開発作業」と「知識の整理」を一続きの体験にすることを目指し、AI搭載IDEのCursorとノートアプリObsidianを組み合わせたディレクトリ管理を実践しています。本稿では、その具体的な仕組みや日々の運用ノウハウについて、背景から丁寧にご紹介します。

1. 背景: なぜこの仕組みが必要だったか

AIによるコーディング支援が普及し、開発のスピードは飛躍的に向上しました。しかしその一方で、アウトプットに至るまでの思考プロセス、すなわち「なぜその設計を選択したのか」「どのように技術的課題を解決したのか」といった背景知識、いわゆる「開発コンテキスト」が失われやすいという新たな課題が浮き彫りになりました。後からコードを読んでも、その意図を完全に汲み取るのは困難です。そこで私たちは、作業コンテキストをリアルタイムでナレッジベース(Obsidian)に記録し、検索可能な資産として蓄積する仕組みの構築を目指しました。

2. PARAメソッドを応用したディレクトリ構成

情報管理の基盤として、Tiago Forte氏が提唱する「PARAメソッド」を参考に、私たちの業務に合わせてカスタマイズしたディレクトリ構成を採用しています。

2.1. 基本構造

Obsidian Vault/
├── 00-MOCs/         # Map of Contents: 各種ダッシュボード
├── 01-Areas/        # Areas: 継続的な責任範囲 (例: 採用、財務、チーム運営)
├── 02-Projects/     # Projects: 明確なゴールと期限を持つプロジェクト
├── 03-Resources/    # Resources: 特定のテーマに関する資料 (例: 技術調査、議事録)
├── 04-Archive/      # Archive: 完了したプロジェクトや不要になったノート
├── 05-Daily/        # Daily Notes: 日々の作業記録 (YYYY-MM-DD.md)
└── Attachments/     # 添付ファイル (画像など)
2.2. 各フォルダの運用ポイント

- 00-MOCs: Vault全体のハブとなる場所です。Obsidianのプラグイン「Dataview」を使い、各ノートのメタデータから「進行中のプロジェクト一覧」「期限が近いタスク」「レビュー待ちのプルリクエスト」などを集約したダッシュボードを構築しています。
- 05-Daily: このワークフローの心臓部です。毎朝、その日の日付(例: 2025-07-15.md)のノートが自動生成されます。後述するスクリプトにより、Cursorでの開発ログやGitのコミット履歴がこのデイリーノートに自動で追記されていきます。

3. Cursorを中心とした開発と記録のフロー

Cursorは、AIとの対話やコード生成機能が強力ですが、「User Rules」という機能を使って、特定の操作をトリガーに任意のスクリプトを実行できる点も特徴です。私たちはこの機能を利用して、開発作業の記録を自動化しています。

3.1. User Rulesによる実装レポートの自動生成

Gitでコミットが完了したタイミングをトリガーに、TypeScriptで書かれた自作スクリプトが実行されるように設定しています。このスクリプトは以下の処理を行います。

  • 直前のコミットに含まれるコードの差分(diff)とコミットメッセージを取得します。
  • その情報を基に、AI(GPT-4)が「実装の目的」「変更点の要約」「関連するIssue」などを構造化されたMarkdown形式で生成します。
  • 生成されたMarkdownを、その日のデイリーノート(05-Daily/YYYY-MM-DD.md)内の「Implementation Log」セクションに追記します。
3.2. レビュー内容の集約

GitHub Actionsを利用し、プルリクエストがマージされた際に、レビュアーからのコメントを抽出し、同じくデイリーノートの「Review Feedback」セクションに追記する仕組みを構築しました。これにより、「誰がどのような観点でレビューし、どう改善されたか」という記録が、実装ログと紐づく形で残ります。

4. Obsidian側の情報活用術

Obsidian側では、蓄積された情報を活用するためのいくつかの仕組みを用意しています。

4.1. テンプレート機能による効率化

「Templater」プラグインを用いて、デイリーノートや議事録、障害報告(Postmortem)などの雛形をテンプレート化しています。これにより、誰でも統一されたフォーマットで、かつ数クリックでノートを作成できます。

4.2. メタデータとDataviewによる情報の可視化

全てのノートの先頭には、YAML Frontmatterと呼ばれる形式でメタデータを記述します。


---
project: "Project-A"
tags: [api, backend, bugfix]
status: "in-progress"
---

このメタデータをキーに、「Dataview」プラグインが情報を動的に集計します。例えば、「Project-Aに関連する全てのデイリーログと議事録を一覧表示する」といったクエリを書くことで、プロジェクト専用のダッシュボードを簡単に作成できます。これは、朝会での進捗確認や、プロジェクトの振り返り時に絶大な効果を発揮します。

5. ワークフローの全体像

この仕組みにおける1日の基本的な流れは以下の通りです。

  1. 朝会時: 00-MOCsのダッシュボードでチーム全体のタスクと進捗を確認。個人の今日の作業目標をデイリーノートに記入します。
  2. 開発中: Cursorでコーディング。タスクが一段落したらGitにコミットします。コミットをトリガーに、実装レポートがデイリーノートへ自動追記されます。
  3. レビュー完了時: プルリクエストがマージされると、GitHub Actions経由でレビュー内容がデイリーノートに記録されます。
  4. 終業時: その日のデイリーノートを見返し、学んだことや課題(Reflection)を手動で追記し、1日の作業を締めくくります。
6. 導入による定量的効果

このワークフローを導入して約半年が経過し、以下のような効果測定結果が得られました。

  • 情報検索時間の30%削減: 「あの機能の仕様、どこで決まったんだっけ?」といった確認の際、Gitのログや複数のツールを横断検索する手間が大幅に削減されました。
  • レビューサイクルの20%短縮: 実装の背景や意図がデイリーノートに明記されているため、レビュアーがコンテキストを把握しやすくなり、手戻りや質問が減少しました。
  • 過去の教訓の再利用率向上: 障害報告がテンプレート化・タグ管理され、Dataviewで一覧できるようになった結果、類似インシデント発生時の対応策検討がスムーズになりました。
7. 今後の展望

現在は、Obsidian Vault内に蓄積されたナレッジを、RAG(Retrieval-Augmented Generation / 検索拡張生成)の仕組みを用いて、より高度に活用する検証を進めています。具体的には、「過去に発生した類似のAPIバグとその解決策を教えて」といった自然言語での質問に対し、AIがVault内の情報を基に回答を生成する社内向けチャットボットの開発です。これにより、開発効率の向上だけでなく、新規メンバーのオンボーディング期間短縮にも繋がるものと期待しています。

8. まとめ

CursorとObsidianの連携は、日々の開発業務の中に「記録」と「整理」のプロセスを自然に組み込むための、軽量かつ強力なソリューションです。既存のGitやCI/CDツールとの親和性も高く、比較的小さなチームからでも導入しやすいのが利点です。私たちは今後もこの仕組みを改善し、作業の透明性を高め、知識が循環する開発文化を育んでいきたいと考えています。

9. 参考文献
お問い合わせ

Click here to contact us