claude-alfred 0.3.5 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.ja.md +135 -141
  2. package/README.md +142 -148
  3. package/content/rules/alfred-flow.md +20 -0
  4. package/dist/{audit-g6phLGMg.mjs → audit-BoZ1ny8J.mjs} +6 -2
  5. package/dist/chunk-CAm0Jl7e.mjs +38 -0
  6. package/dist/cli.mjs +7 -7
  7. package/dist/{helpers-CvI9bVCq.mjs → directives-Dqyd5mki.mjs} +71 -5
  8. package/dist/{dispatcher-M-Rc8GYD.mjs → dispatcher-C17CWoZm.mjs} +9 -8
  9. package/dist/embedder-D3hJoryD.mjs +223 -0
  10. package/dist/{epic-D9ksT1k7.mjs → epic-s_BVNu2z.mjs} +77 -72
  11. package/dist/{fts-Buk8fkl1.mjs → fts-DUZkPJPD.mjs} +20 -14
  12. package/dist/{knowledge-BgWoLpv7.mjs → knowledge-C7rEfFSX.mjs} +3 -1
  13. package/dist/{living-spec-jepeb0NQ.mjs → living-spec-ZVyfPGMW.mjs} +72 -63
  14. package/dist/post-tool-CVz4W_Vh.mjs +874 -0
  15. package/dist/post-tool-I7s2cn_s.mjs +11 -0
  16. package/dist/{pre-compact-BmW-T36K.mjs → pre-compact-Di-vsFqy.mjs} +54 -43
  17. package/dist/{pre-tool-DEFSi2eU.mjs → pre-tool-BYBZNiIR.mjs} +11 -4
  18. package/dist/{project-Cz-yOhrW.mjs → project-DCKke4_Q.mjs} +3 -1
  19. package/dist/{review-gate-IIPdo-3r.mjs → review-gate-BqflAb2N.mjs} +13 -4
  20. package/dist/{server-BaPbUbPa.mjs → server-B7dI3oXY.mjs} +16 -6
  21. package/dist/{server-B0LsUetd.mjs → server-Bl_zy4fx.mjs} +204 -308
  22. package/dist/{session-start-CbBbiQR5.mjs → session-start-CBkk6dPM.mjs} +20 -8
  23. package/dist/{state-Dqi1EiD0.mjs → state-7LLZFgmO.mjs} +69 -10
  24. package/dist/{stop-ByE7qdsR.mjs → stop-DQ5ynz_h.mjs} +9 -3
  25. package/dist/{store-D4fokoGA.mjs → store-8O9WUwMu.mjs} +256 -243
  26. package/dist/{types-DFsKNXVY.mjs → types-BBT-j5-a.mjs} +89 -119
  27. package/dist/{user-prompt-E1Y0wuSR.mjs → user-prompt-Bi6nTMVw.mjs} +123 -98
  28. package/dist/{vectors-DtWMZUgk.mjs → vectors-C3yIO_A5.mjs} +8 -5
  29. package/package.json +2 -1
  30. package/web/dist/assets/activity-DaNbm_lE.js +1 -0
  31. package/web/dist/assets/{api-BpnabbKu.js → api-CBU51vqb.js} +1 -1
  32. package/web/dist/assets/{badge-CBFM8JtH.js → badge-C05td892.js} +1 -1
  33. package/web/dist/assets/{button-CBPUE5Y6.js → button-D3z8_kMQ.js} +3 -3
  34. package/web/dist/assets/checkbox-Bh9MPi9D.js +1 -0
  35. package/web/dist/assets/{circle-dot-BMf8wYDE.js → circle-dot-BNdwEV23.js} +1 -1
  36. package/web/dist/assets/{createLucideIcon-MCX4k61-.js → createLucideIcon-CXfoiJlS.js} +1 -1
  37. package/web/dist/assets/dist-DTaMiatS.js +1 -0
  38. package/web/dist/assets/index-CUO1k34R.js +10 -0
  39. package/web/dist/assets/{index-uhr7UtxX.css → index-hjQ-PBDH.css} +1 -1
  40. package/web/dist/assets/knowledge-CCOXtQC7.js +59 -0
  41. package/web/dist/assets/{link-D7DRVryP.js → link-kp6hDCe3.js} +1 -1
  42. package/web/dist/assets/{progress-B0hcYV7D.js → progress-BvJqvG2c.js} +1 -1
  43. package/web/dist/assets/routes-CjJIy5YD.js +1 -0
  44. package/web/dist/assets/{separator-0fdLqhBM.js → separator-CAsWcbnS.js} +1 -1
  45. package/web/dist/assets/skeleton-Bk7Yf44E.js +1 -0
  46. package/web/dist/assets/tasks-BEmeWSSO.js +1 -0
  47. package/web/dist/assets/tasks._slug-dRSuny4G.js +35 -0
  48. package/web/dist/assets/{useParams-CJl-SvaR.js → useParams-Cwa1KzHT.js} +1 -1
  49. package/web/dist/index.html +6 -6
  50. package/dist/directives-BnbWxhap.mjs +0 -57
  51. package/dist/embedder-CFkDPOku.mjs +0 -214
  52. package/dist/knowledge-extractor-DTO74tU1.mjs +0 -456
  53. package/dist/post-tool-tKu9d-gX.mjs +0 -284
  54. package/web/dist/assets/activity-mXF0VmCt.js +0 -1
  55. package/web/dist/assets/checkbox-B_KjCpy7.js +0 -1
  56. package/web/dist/assets/dist-7qozDZTq.js +0 -1
  57. package/web/dist/assets/index-CNTBHHOa.js +0 -10
  58. package/web/dist/assets/knowledge-wd_PIN8X.js +0 -59
  59. package/web/dist/assets/routes-DUyvG12-.js +0 -1
  60. package/web/dist/assets/skeleton-CLJEM3zd.js +0 -1
  61. package/web/dist/assets/tasks-pPCS6lSa.js +0 -1
  62. package/web/dist/assets/tasks._slug-C-Z_7eYZ.js +0 -35
package/README.ja.md CHANGED
@@ -10,37 +10,70 @@ Claude Code の開発執事。
10
10
 
11
11
  ## 何が辛いのか
12
12
 
13
- Claude Code で開発してると、こうなる:
13
+ Claude Code で開発してると、3つの壁にぶつかる。
14
14
 
15
- - **忘れる。** Compact するたび、セッション切れるたび、全部消える。20分かけた設計判断、もう一回聞かれる。
16
- - **行き当たりばったり。** 仕様もなく、計画もなく、ノリで実装。動くけど、壊れる。
17
- - **誰もレビューしない。** コードがそのまま出ていく。バグは本番で見つかる。
15
+ **忘れる。** Compact するたび、セッション切れるたび、全部消える。20分かけた設計判断、もう一回聞かれる。
16
+
17
+ **行き当たりばったり。** 仕様もなく、計画もなく、ノリで実装。動くけど、壊れる。
18
+
19
+ **誰もレビューしない。** コードがそのまま出ていく。バグは本番で見つかる。
18
20
 
19
21
  alfred は3つとも潰す。
20
22
 
23
+ ## アプローチ
24
+
25
+ alfred は**仕様駆動の開発フロー**を強制する。全タスクが同じ構造に従う。例外はない。
26
+
27
+ ```
28
+ Spec > Wave > Task
29
+ ```
30
+
31
+ **Spec** はこれから作るものを記述するドキュメント群。**Wave** は関連タスクをレビュー可能な塊にまとめたもの。**Task** は1つの作業単位。
32
+
33
+ フローはこう進む。
34
+
35
+ 1. **Spec を作る** — 要件、設計、タスク、テスト仕様
36
+ 2. **セルフレビュー** — 3つの AI エージェントがアーキテクチャを議論する(S サイズ含む全サイズ)
37
+ 3. **承認を得る** — ブラウザダッシュボードでレビュー、任意の行にコメント(M/L/XL)
38
+ 4. **Wave ごとに実装** — 各 Wave 完了後にコミット、セルフレビュー、学びを保存
39
+ 5. **クローズ** — 最終レビューして `dossier complete`
40
+
41
+ これは提案じゃない。Hook が強制する。Spec なしでコードを書こうとするとブロックされる。Wave レビューをスキップすると Edit/Write が使えなくなる。
42
+
21
43
  ## 何ができるか
22
44
 
23
- **消えない仕様。** 要件、設計、決定、セッション状態 — 構造化されたMarkdownファイルが Compact を跨いで生き残る。コンテキストは一度も失われない。
45
+ ### 消えない仕様
46
+
47
+ 要件、設計、決定、セッション状態 — 構造化された Markdown が Compact を跨いで生き残る。コンテキストは失われない。タスクの大きさに合わせてファイル数が変わる。バグ修正なら3ファイル、大規模機能なら6ファイル。
48
+
49
+ ### 積み重なる記憶
50
+
51
+ 「あの時こう決めた」「このバグ前にも見た」「X は試したけどダメだった」— 全てが `.alfred/knowledge/` に構造化 JSON として保存される。3分類のみ: **decision**、**pattern**、**rule**。Git フレンドリーで、チームで共有できる。矛盾は自動検出。次に似た問題に当たったとき、聞く前に alfred が出してくる。
24
52
 
25
- **適応する仕様。** 小さなバグ修正なら3ファイル。中規模なら5。大規模なら6。タスクに応じてスペックの深さを自動調整。bugfix専用テンプレート(再現手順、原因分析、修正戦略)も。
53
+ ### ドリフトしない仕様
26
54
 
27
- **積み重なる記憶。** 「あの時こう決めた」「このバグ前にも見た」「Xは試したけどダメだった」— 全てが `.alfred/knowledge/` に構造化JSONとして保存される。3分類のみ: **decision**(一回きりの選択 + 理由 + 却下した代替案)、**pattern**(繰り返し実践 + 適用条件 + 期待結果)、**rule**(強制ルール + 優先度 + 根拠)。Git フレンドリーで、チームで共有できる。SQLite検索インデックスがセマンティック検索を提供。矛盾は自動検出。次に似た問題に当たったとき、聞く前に alfred が出してくる。
55
+ コミットの度に、変更ファイルを Spec と照合。設計書にないコンポーネントを変更した? 警告。メモリに保存した規約がコードと合わなくなった? フラグ。
28
56
 
29
- **信頼性シグナル。** 仕様の全項目にgrounding level(`verified`/`reviewed`/`inferred`/`speculative`)が付く。どの要件が実証済みで、どれが推測なのか一目でわかる。typoも検出する。
57
+ ### スケールするレビュー
30
58
 
31
- **ブラウンフィールド対応。** 既存コード変更用のdelta specに`CHG-N`変更IDとBefore/After行動差分を追加。「どのファイルが変わった」だけでなく「どの振る舞いがなぜ変わった」まで追跡。3つの新バリデーションチェック付き。
59
+ 6つのレビュープロファイル(code, config, security, docs, architecture, testing)、それぞれにチェックリスト。並列エージェント、スコア付きレポート、具体的な修正案。
32
60
 
33
- **ドリフトしない仕様。** コミットの度に、変更ファイルをスペックと照合。設計書にないコンポーネントを変更した?警告。メモリに保存したコーディング規約がコードと合わなくなった?フラグ。これをやるツールは他にない。
61
+ ### バイパスできない承認ゲート
34
62
 
35
- **スケールするレビュー。** 6つのレビュープロファイル(code, config, security, docs, architecture, testing)、それぞれにチェックリスト。並列エージェント、スコア付きレポート、具体的な修正案。
63
+ 3層の enforcement で守る。
64
+ - **Review gate** が spec/wave レビュー完了まで Edit/Write をブロック
65
+ - **Approval gate** が未承認 M/L/XL をブロック
66
+ - **Intent guard** が spec なし実装をブロック
36
67
 
37
- **能動的スキル提案。** alfred は呼ばれるのを待たない。調査中か、設計中か、実装中か、バグ修正中かを検出し、適切なタイミングで適切なスキルを提案する。コードを探索し続けてる?「`/alfred:survey` 使ったら?」。調査結果が出た?「`ledger` に保存しよう」。タスクが溜まってきた?「`roster` でまとめよう」。
68
+ ステータスの手動書き換えでは突破できない。レビュー JSON ファイルの存在も検証する。
38
69
 
39
- **バイパスできない承認ゲート。** 実装前に仕様のレビューサイクルを回す。ブラウザダッシュボードで任意の行にコメントして、承認か差し戻し — GitHub の PR レビューと同じ体験を、仕様に対してやる。ステータスの手動書き換えでは突破できない。**3層 enforcement**: (1) review gate が spec/wave レビュー完了まで Edit/Write をブロック、(2) approval gate が未承認 M/L/XL をブロック、(3) intent guard が spec なし実装をブロック。Stop hook はレビューゲート以外ではブロックせず、リマインドのみ。
70
+ ### 能動的スキル提案
40
71
 
41
- **リアルタイムナレッジ抽出。** `ledger` で保存した decision は即座に検索可能。設計パターンは spec 更新時に自動抽出。レビューエージェントの指摘(critical/high)はアンチパターンとして自動保存。ナレッジはタスク完了時だけでなく、継続的に蓄積される。
72
+ 調査中か、実装中か、バグ修正中か、PR マージ直後か、大きな PDF を読んでいるか alfred が状況を検知して、適切なスキルを提案する。コマンドを覚える必要はない。
42
73
 
43
- **張り付くプロジェクトコンテキスト。** Steering文書(プロダクトの目的、コード構造、技術スタック)がプロジェクトから自動生成され、すべての仕様に注入される。AIは常にアーキテクチャを理解している。
74
+ ### 日英切り替え対応のダッシュボード
75
+
76
+ `localhost:7575` でリアルタイムにプロジェクト状態を確認。タスク進捗、ナレッジ健全性、アクティビティ。ワンクリックで日本語・英語を切り替え。設定はブラウザに保存される。
44
77
 
45
78
  ## セットアップ
46
79
 
@@ -50,11 +83,7 @@ alfred は3つとも潰す。
50
83
  npm install -g claude-alfred
51
84
  ```
52
85
 
53
- SQLite データベースとユーザールールが自動セットアップされる。確認:
54
-
55
- ```bash
56
- alfred doctor
57
- ```
86
+ SQLite データベースとユーザールールが自動セットアップされる。`alfred doctor` で確認。
58
87
 
59
88
  ### 2. プラグイン
60
89
 
@@ -81,16 +110,16 @@ Voyage のキーがなくても動く。FTS5 全文検索がフォールバッ
81
110
  Claude Code 内で、プロジェクトルートから:
82
111
 
83
112
  ```
84
- /init 候補から "alfred" を選択
113
+ /init <- 候補から "alfred" を選択
85
114
  ```
86
115
 
87
116
  ステアリングドキュメント、テンプレート、ナレッジインデックスを生成する。
88
117
 
89
- > **注意**: `/alfred:init` ではなく `/init` (短縮形) を使うこと。Claude Code の補完が `alfred:` プレフィックスを別スキルに誤ルーティングする場合がある。全 alfred スキル共通: `/brief`, `/attend`, `/mend` のように短縮形を推奨。
118
+ > **注意**: `/alfred:init` ではなく `/init` (短縮形) を使うこと。Claude Code の補完が `alfred:` プレフィックスを別スキルに誤ルーティングする場合がある。全スキル共通で `/brief`, `/attend`, `/mend` のように短縮形を推奨。
90
119
 
91
120
  ## アップデート
92
121
 
93
- 両方を一緒に更新する:
122
+ 両方を一緒に更新する。
94
123
 
95
124
  ```bash
96
125
  npm update -g claude-alfred # CLI、hooks、MCP サーバー、ダッシュボード
@@ -104,28 +133,42 @@ npm update -g claude-alfred # CLI、hooks、MCP サーバー、ダッシ
104
133
 
105
134
  ## スキル
106
135
 
136
+ ### コアワークフロー
137
+
138
+ | スキル | やること |
139
+ |--------|----------|
140
+ | `/alfred:brief` | Spec を生成。3エージェントがアーキテクチャを議論し、ダッシュボードで承認する |
141
+ | `/alfred:attend` | 全自動。Spec 作成 → 承認ゲート → Wave ごとの実装 → レビュー → コミットまで放置でOK |
142
+ | `/alfred:tdd` | テスト駆動開発。red → green → refactor のサイクルを自律的に回す |
143
+ | `/alfred:mend` | バグ修正。再現 → 原因特定(過去バグの記憶も使う)→ 修正 → 検証 → コミット |
144
+ | `/alfred:inspect` | 6プロファイル並列レビュー(code, config, security, docs, architecture, testing)。スコア付き |
145
+
146
+ ### 探索と設計
147
+
107
148
  | スキル | やること |
108
149
  |--------|----------|
109
- | `/alfred:brief` | 仕様を設計する。3エージェントがアーキテクチャを議論し、ダッシュボードで承認する |
110
- | `/alfred:attend` | 全自動。仕様→レビュー→承認→実装→テスト→コミットまで放置でOK |
111
- | `/alfred:tdd` | テスト駆動。red→green→refactor を自律サイクルで回す。テストパターンも記憶する |
112
- | `/alfred:inspect` | 品質ゲート。6プロファイル並列レビュー、スコア付きレポート |
113
- | `/alfred:mend` | バグ修正。再現→原因特定(過去のバグ記憶も使う)→修正→検証→コミット |
114
- | `/alfred:survey` | 既存コードから仕様をリバースエンジニアリング。信頼度スコア付き |
115
- | `/alfred:salon` | ブレスト。3人の専門家が並列でアイデアを出して、議論する |
150
+ | `/alfred:survey` | 既存コードから Spec をリバースエンジニアリング。信頼度スコア付き |
151
+ | `/alfred:salon` | ブレスト。3人の専門家が並列でアイデアを出して、トレードオフを議論する |
116
152
  | `/alfred:harvest` | PR レビューコメントからナレッジを抽出して永続メモリに保存 |
117
- | `/alfred:furnish` | 設定ファイルの作成・ブラッシュアップ |
118
- | `/alfred:quarters` | プロジェクト全体のセットアップウィザード |
119
- | `/alfred:archive` | 参照資料を検索可能なナレッジに変換 |
153
+ | `/alfred:archive` | 参照資料(PDF, CSV, 大きなテキスト)を検索可能なナレッジに変換 |
154
+
155
+ ### セットアップと保守
156
+
157
+ | スキル | やること |
158
+ |--------|----------|
159
+ | `/alfred:init` | プロジェクト初期化。マルチエージェントでコードベースを探索し、ステアリングドキュメントを生成 |
160
+ | `/alfred:quarters` | Claude Code のプロジェクト設定ウィザード(settings, hooks, rules) |
161
+ | `/alfred:furnish` | 設定ファイルを1つ作成・ブラッシュアップ(skill, rule, hook, CLAUDE.md 等) |
162
+ | `/alfred:valet` | Anthropic 公式ガイドに基づくスキル品質監査。6カテゴリ21チェック |
120
163
  | `/alfred:concierge` | 全機能のクイックリファレンス |
121
164
 
122
165
  ## MCP ツール
123
166
 
124
167
  | ツール | 役割 |
125
168
  |--------|------|
126
- | `dossier` | 仕様のライフサイクル管理 — init, update, status, switch, complete, delete, history, rollback, review, validate, gate(レビューゲート管理) |
127
- | `roster` | エピック管理 — タスクのグループ化、依存関係、進捗追跡 |
128
- | `ledger` | ナレッジ — search, save(構造化JSON: decision/pattern/rule), promotepattern→rule), reflect, audit-conventions |
169
+ | `dossier` | Spec のライフサイクル管理 — init, update, status, switch, complete, delete, history, rollback, review, validate, gate |
170
+ | `roster` | エピック管理 — タスクのグループ化、依存関係、Spec 横断の進捗追跡 |
171
+ | `ledger` | ナレッジ — search, save (decision/pattern/rule), promote (pattern rule), reflect, audit-conventions |
129
172
 
130
173
  ## Hook
131
174
 
@@ -133,12 +176,12 @@ npm update -g claude-alfred # CLI、hooks、MCP サーバー、ダッシ
133
176
 
134
177
  | イベント | 動作 |
135
178
  |----------|------|
136
- | SessionStart | 仕様コンテキスト復元 + ナレッジ同期 + 1%ルール(スキル発動促進)+ 成熟度適応 |
137
- | PreCompact | スナップショット保存 + 決定抽出 + エピック進捗同期 + 調査パターン検出 |
138
- | UserPromptSubmit | セマンティック検索 + スキルナッジ + **spec承認ゲート**(未承認 M/L/XL DIRECTIVE)+ **並列開発ガード**(別タスク検出時に WARNING) |
139
- | PostToolUse | エラー検出 + Next Steps 自動チェック + ドリフト検出 + コミット時決定保存 |
140
- | **PreToolUse** | **3層 enforcement**: (1) review gate(spec/wave レビュー完了まで)、(2) intent guard(spec なし実装ブロック)、(3) approval gate(未承認 M/L/XL)。`.alfred/` 編集は常に許可 |
141
- | **Stop** | review gate → ブロック。その他 → コンテキストリマインド(ブロックなし) |
179
+ | SessionStart | Spec コンテキスト復元、ナレッジ同期、セットアップ提案(`/alfred:init`, `/alfred:quarters`) |
180
+ | UserPromptSubmit | セマンティック検索 + スキル提案 + Spec enforcement(Spec なし実装ブロック、未承認 M/L/XL ブロック) |
181
+ | PreToolUse | 3層 enforcement review gate, intent guard, approval gate。ゲートが有効な間は Edit/Write をブロック |
182
+ | PostToolUse | tasks.md / session.md の進捗自動更新。Wave 完了検知とレビューゲート設定。コミット後のドリフト検出。PR マージ後の `/alfred:harvest` 提案、大きな参照ファイル読み込み時の `/alfred:archive` 提案 |
183
+ | PreCompact | セッションスナップショット保存、決定抽出、エピック進捗同期 |
184
+ | Stop | review gate → ブロック。その他 → コンテキストリマインド(ブロックなし) |
142
185
 
143
186
  ## ブラウザダッシュボード
144
187
 
@@ -148,153 +191,104 @@ alfred dashboard --port 8080 # ポート指定
148
191
  alfred dashboard --url-only # URLだけ出力
149
192
  ```
150
193
 
151
- | タブ | 表示内容 |
152
- |------|----------|
153
- | **Overview** | プロジェクトの健康状態 — タスク進捗とバリデーション結果、メモリ健康度(陳腐化数・矛盾数)、仕様の信頼度分布、エピック進捗、最近の意思決定 |
154
- | **Tasks** | Active/Completed セクション分離。タスクをクリックで2カラム詳細ビュー: 左にメタデータ、右に折りたたみ可能なspecセクション(色分け付き)。Review タブでインラインコメント |
155
- | **Knowledge** | メモリ一覧(サブタイプ別タグ付き)。セマンティック検索(Voyage AI、300msデバウンス)。ローカルテキストフィルタ。メモリの有効/無効切り替え |
156
- | **Activity** | 操作タイムライン。イベントタイプ別フィルタ(init/complete/review)。エピックドリルダウン |
194
+ 4つのタブ: **Overview**(プロジェクト健全性、タスク進捗、メモリ統計)、**Tasks**(Spec の詳細表示、折りたたみセクション、インラインレビュー)、**Knowledge**(メモリの検索・閲覧、有効/無効切り替え)、**Activity**(操作タイムラインとフィルタ)。
157
195
 
158
- インラインレビュー: 仕様ファイルを選択し、Review タブに切り替え。特定の行にコメントして、レビューラウンドを切り替えて、承認または差し戻し — ブラウザで完結。
196
+ **日本語/英語のワンクリック切り替え**対応。設定はセッションを跨いで保持。
159
197
 
160
198
  着手中のタスクがシマーで光る。何が進行中か、一目でわかる。
161
199
 
162
200
  開発用: `ALFRED_DEV=1 alfred dashboard` + `task dev`(web/ 内)で Vite HMR が使える。
163
201
 
202
+ ## Steering 文書
203
+
204
+ プロジェクトレベルのコンテキストを全 Spec に注入する。
205
+
206
+ ```bash
207
+ /alfred:init
208
+ ```
209
+
210
+ `.alfred/steering/` に3ファイルを作成する。
211
+ - `product.md` — プロジェクトの目的、対象ユーザー、スコープ境界
212
+ - `structure.md` — パッケージ構成、モジュール境界、命名規約
213
+ - `tech.md` — 技術スタック、依存関係、アーキテクチャ判断
214
+
215
+ 3ファイル全てが `dossier init` 時に読み込まれ、コンテキストとして注入される。AI は常にアーキテクチャを理解している。
216
+
164
217
  ## 検索パイプライン
165
218
 
166
- キーワードマッチだけじゃない。3段階の検索パイプライン:
219
+ 3段階で、順にフォールバックする。
167
220
 
168
221
  1. **Voyage AI ベクトル検索** + リランキング(API キーがあるとき)
169
222
  2. **FTS5 全文検索** — タグエイリアス展開 + ファジーマッチ付き
170
223
  3. **キーワードフォールバック**(LIKE クエリ)
171
224
 
172
- タグエイリアスが検索を自動拡張する: 「auth」で「authentication」「login」「認証」もヒットする。
173
-
174
- ファジーマッチがタイポを吸収する:「authetication」でも「authentication」が見つかる。
225
+ タグエイリアスが検索を自動拡張する。「auth」で「authentication」「login」「認証」もヒット。ファジーマッチがタイポを吸収する。
175
226
 
176
227
  ## ナレッジアーキテクチャ
177
228
 
178
- ナレッジは構造化JSONファイルとして保存される。3分類、曖昧さゼロ。真のソースはプロジェクトディレクトリにあり、バイナリDBではない。
229
+ ナレッジはプロジェクトディレクトリ内の構造化 JSON ファイル。3分類、曖昧さゼロ。
179
230
 
180
231
  ```
181
232
  .alfred/knowledge/
182
- ├── decisions/
183
- │ └── dec-auth-jwt.json # 一回きりの選択 + 理由 + 却下した代替案
184
- ├── patterns/
185
- │ └── pat-error-handling.json # 繰り返し実践 + 適用条件 + 期待結果
186
- └── rules/
187
- └── rule-no-mock-db.json # 強制ルール + 優先度 + 根拠
233
+ ├── decisions/ # 一回きりの選択 + 理由 + 却下した代替案
234
+ ├── patterns/ # 繰り返し実践 + 適用条件 + 期待結果
235
+ └── rules/ # 強制ルール + 優先度 + 根拠
188
236
  ```
189
237
 
190
- 各タイプには厳密なスキーマ([mneme](https://github.com/hir4ta/mneme) 互換):
191
- - **Decision**: `title`, `decision`, `reasoning`, `alternatives[]`, `tags[]`, `status`
192
- - **Pattern**: `type` (good/bad/error-solution), `context`, `pattern`, `applicationConditions`, `expectedOutcomes`
193
- - **Rule**: `key`, `text`(命令形), `category`, `priority` (p0/p1/p2), `rationale`, `sourceRef`
194
-
195
- 全エントリはテンプレート化されたパラメータで保存(フリーテキスト不可)— セッション間のフォーマット揺れゼロ。
238
+ スキーマは厳密([mneme](https://github.com/hir4ta/mneme) 互換)。テンプレート化されたパラメータで保存するので、セッション間のフォーマット揺れはゼロ。
196
239
 
197
- - **Git フレンドリー**: ナレッジをコミットしてチームと共有、PRでレビュー
198
- - **アトミック書き込み**: temp ファイル + rename でクラッシュ時の破損防止
199
- - **再構築可能**: SQLite検索インデックスはこれらのファイルから派生 — DB を削除しても次のセッションで再構築される
200
- - **サブタイプ減衰**: パターンは90日で減衰。実証されたルールは120日持つ。種類ごとに半減期が違う。
201
- - **昇格**: パターンは検索ヒット15回以上でルールに自動昇格
202
- - **矛盾検出**: 2つのエントリが矛盾していたら(「JWT使え」vs「JWT避けろ」)、自動でフラグ。
203
- - **多言語対応**: `ALFRED_LANG` で保存されるナレッジの言語を制御
240
+ Git フレンドリー(コミットしてチームと共有、PR でレビュー)。アトミック書き込み(temp + rename)。再構築可能(SQLite インデックスを消しても次のセッションで再生成)。パターンは検索ヒット15回以上でルールに自動昇格。矛盾は自動検出。
204
241
 
205
242
  ## 適応的スペック
206
243
 
207
- 全タスクに7ファイルは要らない。
208
-
209
- | サイズ | 生成ファイル | 用途 |
210
- |--------|------------|------|
211
- | **S** | 3: requirements, tasks, session | バグ修正、設定変更、小さな変更 |
212
- | **M** | 5: + design, test-specs | 新エンドポイント、リファクタ、中規模機能 |
213
- | **L/XL** | 6: + research | アーキテクチャ変更、新サブシステム。Decision は `ledger` で直接保存 |
214
- | **D** (delta) | 2: delta.md(CHG-N ID + Before/After付き), session | 既存コードへのブラウンフィールド変更 |
215
- | **Bugfix** | 3-4: bugfix.md, tasks, session (+test-specs) | 外科的バグ修正(再現手順付き) |
216
-
217
- サイズは説明文から自動判定、または明示指定: `dossier action=init size=S`
218
-
219
- ## スペック検証
244
+ 全タスクに6ファイルは要らない。
220
245
 
221
- `dossier action=validate` で22項目の段階的チェック:
246
+ | サイズ | ファイル数 | 用途 |
247
+ |--------|-----------|------|
248
+ | **S** | 3 (requirements, tasks, session) | バグ修正、設定変更、小さな変更 |
249
+ | **M** | 5 (+ design, test-specs) | 新エンドポイント、リファクタ、中規模機能 |
250
+ | **L/XL** | 6 (+ research) | アーキテクチャ変更、新サブシステム |
251
+ | **D** (delta) | 2 (delta.md + session) | 既存コードへのブラウンフィールド変更 |
252
+ | **Bugfix** | 3-4 (bugfix.md, tasks, session, +test-specs) | 再現手順付きバグ修正 |
222
253
 
223
- - 必須セクション(Goal、Functional Requirements 等)の存在
224
- - サイズ別最小FR数(S: 1+, M: 3+, L: 5+)
225
- - トレーサビリティ完全性(全FR→タスク、全タスク→FRの双方向)
226
- - confidence + grounding annotation の存在
227
- - Closing Wave の存在
228
- - Grounding coverage — opt-in: speculative が30%超で失敗(L/XL)
229
- - Delta spec品質 — Files Affected に CHG-N ID、Before/After セクションの実質的内容
230
-
231
- ## Steering 文書
232
-
233
- プロジェクトレベルのコンテキストを全仕様に注入:
234
-
235
- ```bash
236
- /alfred:init
237
- ```
238
-
239
- `.alfred/steering/` に作成:
240
- - `product.md` — プロジェクトの目的、対象ユーザー、ビジネスルール
241
- - `structure.md` — パッケージ構成、モジュール境界、命名規約
242
- - `tech.md` — 技術スタック、依存関係、API規約
243
-
244
- `dossier init` 時に読み込まれ、コンテキストとして注入。仕様は常にプロジェクトを理解している。
254
+ サイズは説明文から自動判定、または `dossier action=init size=S` で明示指定。
245
255
 
246
256
  ## 仕組み
247
257
 
248
258
  ```
249
259
  あなた
250
260
  |
251
- |-- /alfred:brief -> 仕様 + 3エージェント議論 + ダッシュボード承認
252
- |-- /alfred:attend -> 全自動: 仕様 → 承認 → 実装 レビュー → コミット
253
- |-- /alfred:mend -> 再現 → 原因分析(+過去バグ記憶)→ 修正 → 検証
261
+ |-- /alfred:brief -> Spec + 3エージェント議論 + ダッシュボード承認
262
+ |-- /alfred:attend -> Spec → 承認 → 実装(Wave ごと)→ レビュー → コミット
263
+ |-- /alfred:mend -> 再現 → 原因分析(+ 過去バグ記憶)→ 修正 → 検証
254
264
  |
255
265
  v
256
266
  Hook(見えない)
257
- |-- SessionStart -> コンテキスト復元、1%ルール、成熟度適応
258
- |-- PreCompact -> スナップショット保存、決定抽出、エピック進捗
259
- |-- UserPromptSubmit -> ベクトル検索 + FTS5 + スキルナッジ + spec承認チェック + 並列開発ガード
260
- |-- PostToolUse -> エラー検出、Next Steps自動チェック、ドリフト検出
261
- |-- PreToolUse -> review gate + intent guard + approval gate(3層 enforcement)
262
- |-- Stop -> review gate ブロック + コンテキストリマインド(非ブロック)
267
+ |-- SessionStart -> コンテキスト復元、ナレッジ同期、セットアップ提案
268
+ |-- UserPromptSubmit -> ベクトル検索 + スキル提案 + Spec enforcement
269
+ |-- PreToolUse -> review gate + intent guard + approval gate(3層)
270
+ |-- PostToolUse -> 進捗自動更新、Wave ゲート、ドリフト検出
271
+ |-- PreCompact -> スナップショット、決定抽出、エピック進捗
272
+ |-- Stop -> review gate ブロック + リマインド
263
273
  |
264
274
  v
265
275
  ストレージ
266
276
  |-- .alfred/knowledge/ -> JSON(decisions/, patterns/, rules/)— 真のソース
267
- |-- .alfred/specs/ -> 仕様ファイル + バージョン履歴 + レビュー
277
+ |-- .alfred/specs/ -> Spec ファイル + バージョン履歴 + レビュー
268
278
  |-- .alfred/epics/ -> エピック YAML + タスク依存関係
269
279
  |-- .alfred/steering/ -> プロジェクトコンテキスト(product, structure, tech)
270
- |-- .alfred/templates/ -> ユーザーカスタマイズ可能な仕様・Steeringテンプレート
271
- +-- ~/.claude-alfred/ -> SQLite検索インデックス(knowledge_index + FTS5 + embeddings, スキーマ V8)
280
+ +-- ~/.claude-alfred/ -> SQLite 検索インデックス(再構築可能)
272
281
  ```
273
282
 
274
- ## ファイル生成タイミング
275
-
276
- インストール時には何も生成されない。使うと出てくる:
277
-
278
- | ファイル / ディレクトリ | 生成タイミング | トリガー |
279
- |---|---|---|
280
- | `~/.claude-alfred/alfred.db` | プラグインインストール後の最初の Claude Code セッション | SessionStart hook が DB を開く |
281
- | `.alfred/knowledge/` | 最初のナレッジ保存時(decision, pattern, rule) | `ledger action=save`、PreCompact 決定抽出、spec complete |
282
- | `.alfred/specs/` | 最初のタスク開始時 | `dossier action=init`(`/alfred:brief` や `/alfred:attend` 経由) |
283
- | `.alfred/epics/` | 最初のエピック作成時 | `roster action=init` |
284
- | `.alfred/steering/` | `/alfred:init` 実行時 | プロジェクト初期化スキル |
285
- | `.alfred/templates/` | ユーザーが仕様・Steeringテンプレートをカスタマイズする時 | テンプレートオーバーライド用に手動作成 |
286
- | `.alfred/.state/` | 最初のセッションローカル状態保存時 | ナッジ抑制カウント、探索カウンター(gitignore対象) |
287
- | `.alfred/audit.jsonl` | 最初の仕様操作時またはコミット後ドリフト検出時 | `dossier init`、レビュー送信、PostToolUse ドリフト |
288
-
289
283
  ## トラブルシューティング
290
284
 
291
285
  | 症状 | 対処 |
292
286
  |------|------|
293
- | メモリ検索で結果が出ない | `export VOYAGE_API_KEY=your-key` またはFTS5フォールバックの動作確認 |
294
- | 出力が意図しない言語 | `export ALFRED_LANG=ja`(または `en`, `zh`, `ko` 等)を `~/.zshrc` に追加 |
295
- | Hook が動かない | `/plugin install alfred` して再起動 |
296
- | ダッシュボードが空 | `.alfred/specs/` があるディレクトリで `alfred dash` |
297
- | レート制限エラー | 対策済み — エージェントは段階的バッチ起動(最大2並列) |
287
+ | メモリ検索で結果が出ない | `VOYAGE_API_KEY` を設定、または FTS5 フォールバックの動作確認 |
288
+ | 出力が意図しない言語 | `ALFRED_LANG=ja`(または `en`, `zh` 等)を `~/.zshrc` に追加 |
289
+ | Hook が動かない | `/plugin install alfred` して Claude Code を再起動 |
290
+ | ダッシュボードが空 | `.alfred/specs/` があるディレクトリで `alfred dashboard` を実行 |
291
+ | レート制限エラー | 対策済み。エージェントは段階的バッチ起動(最大2並列) |
298
292
 
299
293
  ## ライセンス
300
294