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.
- package/README.ja.md +135 -141
- package/README.md +142 -148
- package/content/rules/alfred-flow.md +20 -0
- package/dist/{audit-g6phLGMg.mjs → audit-BoZ1ny8J.mjs} +6 -2
- package/dist/chunk-CAm0Jl7e.mjs +38 -0
- package/dist/cli.mjs +7 -7
- package/dist/{helpers-CvI9bVCq.mjs → directives-Dqyd5mki.mjs} +71 -5
- package/dist/{dispatcher-M-Rc8GYD.mjs → dispatcher-C17CWoZm.mjs} +9 -8
- package/dist/embedder-D3hJoryD.mjs +223 -0
- package/dist/{epic-D9ksT1k7.mjs → epic-s_BVNu2z.mjs} +77 -72
- package/dist/{fts-Buk8fkl1.mjs → fts-DUZkPJPD.mjs} +20 -14
- package/dist/{knowledge-BgWoLpv7.mjs → knowledge-C7rEfFSX.mjs} +3 -1
- package/dist/{living-spec-jepeb0NQ.mjs → living-spec-ZVyfPGMW.mjs} +72 -63
- package/dist/post-tool-CVz4W_Vh.mjs +874 -0
- package/dist/post-tool-I7s2cn_s.mjs +11 -0
- package/dist/{pre-compact-BmW-T36K.mjs → pre-compact-Di-vsFqy.mjs} +54 -43
- package/dist/{pre-tool-DEFSi2eU.mjs → pre-tool-BYBZNiIR.mjs} +11 -4
- package/dist/{project-Cz-yOhrW.mjs → project-DCKke4_Q.mjs} +3 -1
- package/dist/{review-gate-IIPdo-3r.mjs → review-gate-BqflAb2N.mjs} +13 -4
- package/dist/{server-BaPbUbPa.mjs → server-B7dI3oXY.mjs} +16 -6
- package/dist/{server-B0LsUetd.mjs → server-Bl_zy4fx.mjs} +204 -308
- package/dist/{session-start-CbBbiQR5.mjs → session-start-CBkk6dPM.mjs} +20 -8
- package/dist/{state-Dqi1EiD0.mjs → state-7LLZFgmO.mjs} +69 -10
- package/dist/{stop-ByE7qdsR.mjs → stop-DQ5ynz_h.mjs} +9 -3
- package/dist/{store-D4fokoGA.mjs → store-8O9WUwMu.mjs} +256 -243
- package/dist/{types-DFsKNXVY.mjs → types-BBT-j5-a.mjs} +89 -119
- package/dist/{user-prompt-E1Y0wuSR.mjs → user-prompt-Bi6nTMVw.mjs} +123 -98
- package/dist/{vectors-DtWMZUgk.mjs → vectors-C3yIO_A5.mjs} +8 -5
- package/package.json +2 -1
- package/web/dist/assets/activity-DaNbm_lE.js +1 -0
- package/web/dist/assets/{api-BpnabbKu.js → api-CBU51vqb.js} +1 -1
- package/web/dist/assets/{badge-CBFM8JtH.js → badge-C05td892.js} +1 -1
- package/web/dist/assets/{button-CBPUE5Y6.js → button-D3z8_kMQ.js} +3 -3
- package/web/dist/assets/checkbox-Bh9MPi9D.js +1 -0
- package/web/dist/assets/{circle-dot-BMf8wYDE.js → circle-dot-BNdwEV23.js} +1 -1
- package/web/dist/assets/{createLucideIcon-MCX4k61-.js → createLucideIcon-CXfoiJlS.js} +1 -1
- package/web/dist/assets/dist-DTaMiatS.js +1 -0
- package/web/dist/assets/index-CUO1k34R.js +10 -0
- package/web/dist/assets/{index-uhr7UtxX.css → index-hjQ-PBDH.css} +1 -1
- package/web/dist/assets/knowledge-CCOXtQC7.js +59 -0
- package/web/dist/assets/{link-D7DRVryP.js → link-kp6hDCe3.js} +1 -1
- package/web/dist/assets/{progress-B0hcYV7D.js → progress-BvJqvG2c.js} +1 -1
- package/web/dist/assets/routes-CjJIy5YD.js +1 -0
- package/web/dist/assets/{separator-0fdLqhBM.js → separator-CAsWcbnS.js} +1 -1
- package/web/dist/assets/skeleton-Bk7Yf44E.js +1 -0
- package/web/dist/assets/tasks-BEmeWSSO.js +1 -0
- package/web/dist/assets/tasks._slug-dRSuny4G.js +35 -0
- package/web/dist/assets/{useParams-CJl-SvaR.js → useParams-Cwa1KzHT.js} +1 -1
- package/web/dist/index.html +6 -6
- package/dist/directives-BnbWxhap.mjs +0 -57
- package/dist/embedder-CFkDPOku.mjs +0 -214
- package/dist/knowledge-extractor-DTO74tU1.mjs +0 -456
- package/dist/post-tool-tKu9d-gX.mjs +0 -284
- package/web/dist/assets/activity-mXF0VmCt.js +0 -1
- package/web/dist/assets/checkbox-B_KjCpy7.js +0 -1
- package/web/dist/assets/dist-7qozDZTq.js +0 -1
- package/web/dist/assets/index-CNTBHHOa.js +0 -10
- package/web/dist/assets/knowledge-wd_PIN8X.js +0 -59
- package/web/dist/assets/routes-DUyvG12-.js +0 -1
- package/web/dist/assets/skeleton-CLJEM3zd.js +0 -1
- package/web/dist/assets/tasks-pPCS6lSa.js +0 -1
- 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
|
-
|
|
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
|
-
|
|
45
|
+
### 消えない仕様
|
|
46
|
+
|
|
47
|
+
要件、設計、決定、セッション状態 — 構造化された Markdown が Compact を跨いで生き残る。コンテキストは失われない。タスクの大きさに合わせてファイル数が変わる。バグ修正なら3ファイル、大規模機能なら6ファイル。
|
|
48
|
+
|
|
49
|
+
### 積み重なる記憶
|
|
50
|
+
|
|
51
|
+
「あの時こう決めた」「このバグ前にも見た」「X は試したけどダメだった」— 全てが `.alfred/knowledge/` に構造化 JSON として保存される。3分類のみ: **decision**、**pattern**、**rule**。Git フレンドリーで、チームで共有できる。矛盾は自動検出。次に似た問題に当たったとき、聞く前に alfred が出してくる。
|
|
24
52
|
|
|
25
|
-
|
|
53
|
+
### ドリフトしない仕様
|
|
26
54
|
|
|
27
|
-
|
|
55
|
+
コミットの度に、変更ファイルを Spec と照合。設計書にないコンポーネントを変更した? 警告。メモリに保存した規約がコードと合わなくなった? フラグ。
|
|
28
56
|
|
|
29
|
-
|
|
57
|
+
### スケールするレビュー
|
|
30
58
|
|
|
31
|
-
|
|
59
|
+
6つのレビュープロファイル(code, config, security, docs, architecture, testing)、それぞれにチェックリスト。並列エージェント、スコア付きレポート、具体的な修正案。
|
|
32
60
|
|
|
33
|
-
|
|
61
|
+
### バイパスできない承認ゲート
|
|
34
62
|
|
|
35
|
-
|
|
63
|
+
3層の enforcement で守る。
|
|
64
|
+
- **Review gate** が spec/wave レビュー完了まで Edit/Write をブロック
|
|
65
|
+
- **Approval gate** が未承認 M/L/XL をブロック
|
|
66
|
+
- **Intent guard** が spec なし実装をブロック
|
|
36
67
|
|
|
37
|
-
|
|
68
|
+
ステータスの手動書き換えでは突破できない。レビュー JSON ファイルの存在も検証する。
|
|
38
69
|
|
|
39
|
-
|
|
70
|
+
### 能動的スキル提案
|
|
40
71
|
|
|
41
|
-
|
|
72
|
+
調査中か、実装中か、バグ修正中か、PR マージ直後か、大きな PDF を読んでいるか — alfred が状況を検知して、適切なスキルを提案する。コマンドを覚える必要はない。
|
|
42
73
|
|
|
43
|
-
|
|
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
|
|
113
|
+
/init <- 候補から "alfred" を選択
|
|
85
114
|
```
|
|
86
115
|
|
|
87
116
|
ステアリングドキュメント、テンプレート、ナレッジインデックスを生成する。
|
|
88
117
|
|
|
89
|
-
> **注意**: `/alfred:init` ではなく `/init` (短縮形) を使うこと。Claude Code の補完が `alfred:`
|
|
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:
|
|
110
|
-
| `/alfred:
|
|
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:
|
|
118
|
-
|
|
119
|
-
|
|
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` |
|
|
127
|
-
| `roster` | エピック管理 —
|
|
128
|
-
| `ledger` | ナレッジ — search, save
|
|
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 |
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
| PostToolUse |
|
|
140
|
-
|
|
|
141
|
-
|
|
|
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
|
-
|
|
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
|
-
|
|
219
|
+
3段階で、順にフォールバックする。
|
|
167
220
|
|
|
168
221
|
1. **Voyage AI ベクトル検索** + リランキング(API キーがあるとき)
|
|
169
222
|
2. **FTS5 全文検索** — タグエイリアス展開 + ファジーマッチ付き
|
|
170
223
|
3. **キーワードフォールバック**(LIKE クエリ)
|
|
171
224
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
ファジーマッチがタイポを吸収する:「authetication」でも「authentication」が見つかる。
|
|
225
|
+
タグエイリアスが検索を自動拡張する。「auth」で「authentication」「login」「認証」もヒット。ファジーマッチがタイポを吸収する。
|
|
175
226
|
|
|
176
227
|
## ナレッジアーキテクチャ
|
|
177
228
|
|
|
178
|
-
|
|
229
|
+
ナレッジはプロジェクトディレクトリ内の構造化 JSON ファイル。3分類、曖昧さゼロ。
|
|
179
230
|
|
|
180
231
|
```
|
|
181
232
|
.alfred/knowledge/
|
|
182
|
-
├── decisions/
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
│ └── pat-error-handling.json # 繰り返し実践 + 適用条件 + 期待結果
|
|
186
|
-
└── rules/
|
|
187
|
-
└── rule-no-mock-db.json # 強制ルール + 優先度 + 根拠
|
|
233
|
+
├── decisions/ # 一回きりの選択 + 理由 + 却下した代替案
|
|
234
|
+
├── patterns/ # 繰り返し実践 + 適用条件 + 期待結果
|
|
235
|
+
└── rules/ # 強制ルール + 優先度 + 根拠
|
|
188
236
|
```
|
|
189
237
|
|
|
190
|
-
|
|
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
|
-
|
|
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
|
-
全タスクに
|
|
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
|
-
|
|
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
|
-
|
|
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 ->
|
|
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 ->
|
|
258
|
-
|--
|
|
259
|
-
|--
|
|
260
|
-
|-- PostToolUse ->
|
|
261
|
-
|--
|
|
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
|
-
|
|
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
|
-
| メモリ検索で結果が出ない | `
|
|
294
|
-
| 出力が意図しない言語 | `
|
|
295
|
-
| Hook が動かない | `/plugin install alfred`
|
|
296
|
-
| ダッシュボードが空 | `.alfred/specs/` があるディレクトリで `alfred
|
|
297
|
-
| レート制限エラー |
|
|
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
|
|