階層的ナレッジベース
個人、プロダクト、組織といった複数のレベルで構造化されたナレッジベース。各レベルが上位レベルを参照できる設計。
レベルの定義
レベル0: 個人
- 個人のメモ、学習記録
- 自由な構造
- 〜300ノート程度
レベル1: プロダクト
- チーム共有のプロダクト固有知識
docs/development/に配置- GLOSSARY.md、PRINCIPLES.md、CONVENTIONS.md
レベル2: 組織
- 全プロダクト共通の知識
- 組織標準、プロダクト間連携パターン
- git submoduleやnpm packageで配信
上位参照の仕組み
各レベルは UPSTREAM.md ファイルで上位レベルを明示的に参照:
# UPSTREAM.md
## 組織レベル
場所: `.knowledge/org/`
## 用語の優先順位
1. プロダクト固有定義(最優先)
2. 組織共通定義
用語の上書きルール
同じ用語が複数レベルで定義されている場合:
- 下位レベルが上位を上書き可能
- 上書きする場合は理由を明記
- 優先順位: プロダクト固有 > 組織共通
フラクタル構造との関係
各レベルで同じディレクトリ構造を保つことで、スケーラブルなナレッジベースを実現:
docs/
├── development/
│ ├── GLOSSARY.md
│ ├── PRINCIPLES.md
│ └── architecture/
この構造を個人、プロダクト、組織の各レベルで繰り返す。
配信方法
git submodule
- バージョン管理が厳密
- ローカルで編集・テスト可能
npm package
- 標準的なワークフロー
- semverによるバージョン管理
関連概念
- フラクタル
- ナレッジベース
- ツール非依存なドキュメント
- スケーラビリティ
- AIエージェント利用を想定したプロダクト開発の組織的ナレッジベース設計 - AIエージェント対応の設計