archtracker-mcp 0.1.0
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/LICENSE +21 -0
- package/README.md +468 -0
- package/dist/cli/index.js +1853 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +144 -0
- package/dist/index.js +587 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/index.js +920 -0
- package/dist/mcp/index.js.map +1 -0
- package/package.json +78 -0
- package/skills/arch-analyze/SKILL.md +28 -0
- package/skills/arch-check/SKILL.md +22 -0
- package/skills/arch-context/SKILL.md +21 -0
- package/skills/arch-search/SKILL.md +24 -0
- package/skills/arch-snapshot/SKILL.md +20 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 archtracker-mcp contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/badge/MCP-Compatible-blue?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMiAxNWwtNS01IDEuNDEtMS40MUwxMCAxNC4xN2w3LjU5LTcuNTlMMTkgOGwtOSA5eiIvPjwvc3ZnPg==" alt="MCP Compatible">
|
|
3
|
+
<img src="https://img.shields.io/npm/v/archtracker-mcp?style=for-the-badge&color=cb3837&logo=npm" alt="npm version">
|
|
4
|
+
<img src="https://img.shields.io/github/license/un907/archtracker-mcp?style=for-the-badge" alt="License">
|
|
5
|
+
<img src="https://img.shields.io/node/v/archtracker-mcp?style=for-the-badge&logo=node.js" alt="Node.js">
|
|
6
|
+
<img src="https://img.shields.io/github/actions/workflow/status/un907/archtracker-mcp/ci.yml?style=for-the-badge&logo=github&label=CI" alt="CI">
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<h1 align="center">archtracker-mcp</h1>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<b>Architecture & Dependency Tracker for AI-Driven Development</b><br>
|
|
13
|
+
MCP Server + CLI + Web Viewer + Claude Code Skills
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="#quick-start">Quick Start</a> •
|
|
18
|
+
<a href="#features">Features</a> •
|
|
19
|
+
<a href="#web-viewer">Web Viewer</a> •
|
|
20
|
+
<a href="#mcp-tools">MCP Tools</a> •
|
|
21
|
+
<a href="#cli-commands">CLI</a> •
|
|
22
|
+
<a href="#日本語">日本語</a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Why archtracker?
|
|
28
|
+
|
|
29
|
+
When AI agents modify code, they **miss cascading impacts**:
|
|
30
|
+
|
|
31
|
+
| Problem | Without archtracker | With archtracker |
|
|
32
|
+
|---------|-------------------|------------------|
|
|
33
|
+
| Agent changes `auth.ts` | Doesn't know 12 files depend on it | Instantly sees all 12 affected files |
|
|
34
|
+
| File renamed during refactor | AI references stale paths next session | `context` command gives current valid paths |
|
|
35
|
+
| New dependency added | No visibility into coupling increase | Diff report flags the architectural change |
|
|
36
|
+
| PR review | Manual dependency tracing | CI auto-checks for architecture drift |
|
|
37
|
+
|
|
38
|
+
**archtracker-mcp** provides dependency analysis, snapshot diffing, impact simulation, and interactive visualization — all accessible via MCP tools, CLI, web UI, or Claude Code Skills.
|
|
39
|
+
|
|
40
|
+
## Features
|
|
41
|
+
|
|
42
|
+
- **Dependency Graph Analysis** — AST-based static analysis via [dependency-cruiser](https://github.com/sverweij/dependency-cruiser)
|
|
43
|
+
- **Interactive Web Viewer** — Force-directed graph, hierarchy diagram, diff view with D3.js
|
|
44
|
+
- **Impact Simulation** — Click any file to visualize transitive dependents (BFS traversal)
|
|
45
|
+
- **Snapshot Diffing** — Save architecture snapshots and detect drift over time
|
|
46
|
+
- **MCP Server** — 5 tools for Claude Code / AI agents via Model Context Protocol
|
|
47
|
+
- **Claude Code Skills** — 5 slash commands (`/arch-check`, `/arch-snapshot`, etc.)
|
|
48
|
+
- **CI Integration** — `--ci` mode + auto-generated GitHub Actions workflow
|
|
49
|
+
- **Bilingual** — Full English/Japanese support (auto-detected from `LANG` env)
|
|
50
|
+
- **Dark/Light Theme** — Settings persist via localStorage
|
|
51
|
+
- **SVG/PNG Export** — Export dependency graphs for documentation
|
|
52
|
+
|
|
53
|
+
## Quick Start
|
|
54
|
+
|
|
55
|
+
### Install
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install -g archtracker-mcp
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 1. Analyze your project
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
archtracker analyze --target src
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 2. Save a baseline snapshot
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
archtracker init --target src
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. Launch the web viewer
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
archtracker serve --target src --watch
|
|
77
|
+
# => http://localhost:3000
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 4. Check for architecture drift
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
archtracker check --target src
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Web Viewer
|
|
87
|
+
|
|
88
|
+
The interactive web viewer provides three visualization modes:
|
|
89
|
+
|
|
90
|
+
### Graph View (Force-Directed)
|
|
91
|
+
- Drag, zoom, and click nodes to explore dependencies
|
|
92
|
+
- Click a node to **pin** its highlight — hover other nodes to compare
|
|
93
|
+
- Filter by directory with bottom pills
|
|
94
|
+
- Adjust gravity, node size, font size, link opacity
|
|
95
|
+
- **Impact mode**: click any file to see all transitively affected files
|
|
96
|
+
|
|
97
|
+
### Hierarchy View (DAG Layout)
|
|
98
|
+
- Layered top-down layout showing dependency depth
|
|
99
|
+
- Click-to-pin highlighting with detail panel
|
|
100
|
+
- Directory-based color coding with legend
|
|
101
|
+
|
|
102
|
+
### Diff View
|
|
103
|
+
- Color-coded visualization of architecture changes
|
|
104
|
+
- Green = added, Red = removed, Yellow = modified, Blue = affected
|
|
105
|
+
- Available when a snapshot exists for comparison
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Launch with auto-reload on file changes
|
|
109
|
+
archtracker serve --target src --port 3456 --watch
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## MCP Tools
|
|
113
|
+
|
|
114
|
+
Add archtracker as an MCP server for Claude Code or any MCP-compatible AI agent:
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"mcpServers": {
|
|
119
|
+
"archtracker": {
|
|
120
|
+
"command": "npx",
|
|
121
|
+
"args": ["-y", "archtracker-mcp"]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
| Tool | Description |
|
|
128
|
+
|------|-------------|
|
|
129
|
+
| `generate_map` | Analyze dependency graph and return structured JSON |
|
|
130
|
+
| `save_architecture_snapshot` | Save snapshot to `.archtracker/snapshot.json` |
|
|
131
|
+
| `check_architecture_diff` | Compare snapshot with current code, show impacts |
|
|
132
|
+
| `get_current_context` | Get valid file paths and architecture summary |
|
|
133
|
+
| `search_architecture` | Search by path, impact, criticality, or orphans |
|
|
134
|
+
|
|
135
|
+
## CLI Commands
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
archtracker init [options] Generate initial architecture snapshot
|
|
139
|
+
archtracker analyze [options] Comprehensive analysis report
|
|
140
|
+
archtracker check [options] Compare snapshot with current code
|
|
141
|
+
archtracker context [options] Show architecture context (for AI sessions)
|
|
142
|
+
archtracker serve [options] Launch interactive web viewer
|
|
143
|
+
archtracker ci-setup [options] Generate GitHub Actions workflow
|
|
144
|
+
|
|
145
|
+
Options:
|
|
146
|
+
-t, --target <dir> Target directory (default: "src")
|
|
147
|
+
-r, --root <dir> Project root (default: ".")
|
|
148
|
+
-p, --port <number> Port for web viewer (default: 3000)
|
|
149
|
+
-w, --watch Watch for file changes and auto-reload
|
|
150
|
+
-e, --exclude <pattern> Exclude patterns (regex)
|
|
151
|
+
-n, --top <number> Top N components in analysis (default: 10)
|
|
152
|
+
--save Save snapshot after analysis
|
|
153
|
+
--ci CI mode: exit 1 if review needed
|
|
154
|
+
--json JSON output (context command)
|
|
155
|
+
--lang <locale> Language: en | ja (auto-detected from LANG)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Claude Code Skills
|
|
159
|
+
|
|
160
|
+
Copy the `skills/` directory to your project:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
cp -r node_modules/archtracker-mcp/skills/ .claude/skills/
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
| Skill | Description |
|
|
167
|
+
|-------|-------------|
|
|
168
|
+
| `/arch-analyze` | Run comprehensive architecture analysis |
|
|
169
|
+
| `/arch-check` | Compare snapshot with current code |
|
|
170
|
+
| `/arch-snapshot` | Save current architecture snapshot |
|
|
171
|
+
| `/arch-context` | Initialize AI session with valid paths |
|
|
172
|
+
| `/arch-search` | Search architecture (path, impact, critical, orphan) |
|
|
173
|
+
|
|
174
|
+
## Programmatic API
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
import {
|
|
178
|
+
analyzeProject,
|
|
179
|
+
saveSnapshot,
|
|
180
|
+
loadSnapshot,
|
|
181
|
+
computeDiff,
|
|
182
|
+
formatDiffReport,
|
|
183
|
+
formatAnalysisReport,
|
|
184
|
+
} from "archtracker-mcp";
|
|
185
|
+
|
|
186
|
+
// Analyze
|
|
187
|
+
const graph = await analyzeProject("src", { exclude: ["__tests__"] });
|
|
188
|
+
|
|
189
|
+
// Snapshot
|
|
190
|
+
const snapshot = await saveSnapshot(".", graph);
|
|
191
|
+
|
|
192
|
+
// Diff
|
|
193
|
+
const prev = await loadSnapshot(".");
|
|
194
|
+
if (prev) {
|
|
195
|
+
const diff = computeDiff(prev.graph, graph);
|
|
196
|
+
console.log(formatDiffReport(diff));
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## CI / CD
|
|
201
|
+
|
|
202
|
+
### Auto-generate GitHub Actions workflow
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
archtracker ci-setup --target src
|
|
206
|
+
# Creates .github/workflows/arch-check.yml
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Manual setup
|
|
210
|
+
|
|
211
|
+
```yaml
|
|
212
|
+
# .github/workflows/arch-check.yml
|
|
213
|
+
name: Architecture Check
|
|
214
|
+
on:
|
|
215
|
+
pull_request:
|
|
216
|
+
branches: [main]
|
|
217
|
+
jobs:
|
|
218
|
+
arch-check:
|
|
219
|
+
runs-on: ubuntu-latest
|
|
220
|
+
steps:
|
|
221
|
+
- uses: actions/checkout@v4
|
|
222
|
+
- uses: actions/setup-node@v4
|
|
223
|
+
with:
|
|
224
|
+
node-version: "20"
|
|
225
|
+
- run: npm ci
|
|
226
|
+
- run: npx archtracker check --target src --ci
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## i18n
|
|
230
|
+
|
|
231
|
+
Language is auto-detected from `LANG` / `LC_ALL` environment variables:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
LANG=ja_JP.UTF-8 archtracker analyze # Japanese output
|
|
235
|
+
archtracker --lang ja check # Explicit Japanese
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
The web viewer also supports language switching via the settings panel.
|
|
239
|
+
|
|
240
|
+
## Requirements
|
|
241
|
+
|
|
242
|
+
- **Node.js** >= 18.0.0
|
|
243
|
+
- **TypeScript / JavaScript** project (for dependency analysis)
|
|
244
|
+
|
|
245
|
+
## Contributing
|
|
246
|
+
|
|
247
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
248
|
+
|
|
249
|
+
## License
|
|
250
|
+
|
|
251
|
+
[MIT](LICENSE) © un907
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
<a id="日本語"></a>
|
|
256
|
+
|
|
257
|
+
<h1 align="center">archtracker-mcp <sub>(日本語)</sub></h1>
|
|
258
|
+
|
|
259
|
+
<p align="center">
|
|
260
|
+
<b>AI駆動開発のためのアーキテクチャ & 依存関係トラッカー</b><br>
|
|
261
|
+
MCP サーバー + CLI + Web ビューア + Claude Code Skills
|
|
262
|
+
</p>
|
|
263
|
+
|
|
264
|
+
## なぜ archtracker?
|
|
265
|
+
|
|
266
|
+
AI エージェントがコードを修正する際、**波及的な影響を見逃します**:
|
|
267
|
+
|
|
268
|
+
| 問題 | archtracker なし | archtracker あり |
|
|
269
|
+
|------|-----------------|-----------------|
|
|
270
|
+
| `auth.ts` を変更 | 12ファイルが依存していることを知らない | 影響を受ける全12ファイルを即座に表示 |
|
|
271
|
+
| リファクタでファイル名変更 | 次のセッションで古いパスを参照 | `context` コマンドで現在の有効パスを取得 |
|
|
272
|
+
| 新しい依存関係を追加 | 結合度の増加が見えない | 差分レポートがアーキテクチャ変更を検出 |
|
|
273
|
+
| PRレビュー | 手動で依存関係を追跡 | CIが自動でアーキテクチャドリフトをチェック |
|
|
274
|
+
|
|
275
|
+
**archtracker-mcp** は依存関係分析、スナップショット差分、影響シミュレーション、インタラクティブな可視化を提供します。MCP ツール、CLI、Web UI、Claude Code Skills からアクセス可能です。
|
|
276
|
+
|
|
277
|
+
## 機能
|
|
278
|
+
|
|
279
|
+
- **依存関係グラフ分析** — [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) によるAST静的解析
|
|
280
|
+
- **インタラクティブ Web ビューア** — D3.js による力学モデルグラフ、階層図、差分ビュー
|
|
281
|
+
- **影響シミュレーション** — ファイルをクリックして推移的な被依存ファイルを可視化(BFS探索)
|
|
282
|
+
- **スナップショット差分** — アーキテクチャスナップショットを保存し、ドリフトを検出
|
|
283
|
+
- **MCP サーバー** — Model Context Protocol 経由で5つのツールを提供
|
|
284
|
+
- **Claude Code Skills** — 5つのスラッシュコマンド(`/arch-check`、`/arch-snapshot` 等)
|
|
285
|
+
- **CI 統合** — `--ci` モード + GitHub Actions ワークフロー自動生成
|
|
286
|
+
- **多言語対応** — 日本語・英語完全対応(`LANG` 環境変数から自動検出)
|
|
287
|
+
- **ダーク/ライトテーマ** — localStorage で設定を永続化
|
|
288
|
+
- **SVG/PNG エクスポート** — ドキュメント用にグラフをエクスポート
|
|
289
|
+
|
|
290
|
+
## クイックスタート
|
|
291
|
+
|
|
292
|
+
### インストール
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
npm install -g archtracker-mcp
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### 1. プロジェクトを分析
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
archtracker analyze --target src
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### 2. ベースラインスナップショットを保存
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
archtracker init --target src
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### 3. Web ビューアを起動
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
archtracker serve --target src --watch
|
|
314
|
+
# => http://localhost:3000
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### 4. アーキテクチャドリフトをチェック
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
archtracker check --target src
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## Web ビューア
|
|
324
|
+
|
|
325
|
+
インタラクティブな Web ビューアは3つの可視化モードを提供します:
|
|
326
|
+
|
|
327
|
+
### グラフビュー(力学モデル)
|
|
328
|
+
- ドラッグ、ズーム、クリックでノードの依存関係を探索
|
|
329
|
+
- ノードをクリックでハイライトを**ピン固定** — 他のノードをホバーして比較
|
|
330
|
+
- 下部のピルでディレクトリごとにフィルタリング
|
|
331
|
+
- 重力、ノードサイズ、フォントサイズ、リンク透明度を調整可能
|
|
332
|
+
- **影響モード**: ファイルをクリックして推移的に影響を受ける全ファイルを表示
|
|
333
|
+
|
|
334
|
+
### 階層ビュー(DAGレイアウト)
|
|
335
|
+
- 依存の深さを示すレイヤー型トップダウンレイアウト
|
|
336
|
+
- クリックでピン固定 + 詳細パネル
|
|
337
|
+
- ディレクトリベースの色分け + 凡例
|
|
338
|
+
|
|
339
|
+
### 差分ビュー
|
|
340
|
+
- アーキテクチャ変更の色分け可視化
|
|
341
|
+
- 緑=追加、赤=削除、黄=変更、青=影響
|
|
342
|
+
- スナップショットが存在する場合に利用可能
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# ファイル変更の自動リロード付きで起動
|
|
346
|
+
archtracker serve --target src --port 3456 --watch
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
## MCP ツール
|
|
350
|
+
|
|
351
|
+
archtracker を MCP サーバーとして Claude Code や MCP 互換 AI エージェントに追加:
|
|
352
|
+
|
|
353
|
+
```json
|
|
354
|
+
{
|
|
355
|
+
"mcpServers": {
|
|
356
|
+
"archtracker": {
|
|
357
|
+
"command": "npx",
|
|
358
|
+
"args": ["-y", "archtracker-mcp"]
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
| ツール | 説明 |
|
|
365
|
+
|--------|------|
|
|
366
|
+
| `generate_map` | 依存関係グラフを解析し構造化JSONで返す |
|
|
367
|
+
| `save_architecture_snapshot` | `.archtracker/snapshot.json` にスナップショットを保存 |
|
|
368
|
+
| `check_architecture_diff` | スナップショットと現在のコードを比較し影響を表示 |
|
|
369
|
+
| `get_current_context` | 有効なファイルパスとアーキテクチャサマリーを取得 |
|
|
370
|
+
| `search_architecture` | パス、影響範囲、重要度、孤立ファイルで検索 |
|
|
371
|
+
|
|
372
|
+
## CLI コマンド
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
archtracker init [options] 初期アーキテクチャスナップショットを生成
|
|
376
|
+
archtracker analyze [options] 包括的な分析レポート
|
|
377
|
+
archtracker check [options] スナップショットと現在のコードを比較
|
|
378
|
+
archtracker context [options] アーキテクチャコンテキストを表示(AIセッション用)
|
|
379
|
+
archtracker serve [options] インタラクティブ Web ビューアを起動
|
|
380
|
+
archtracker ci-setup [options] GitHub Actions ワークフローを生成
|
|
381
|
+
|
|
382
|
+
オプション:
|
|
383
|
+
-t, --target <dir> 対象ディレクトリ(デフォルト: "src")
|
|
384
|
+
-r, --root <dir> プロジェクトルート(デフォルト: ".")
|
|
385
|
+
-p, --port <number> Web ビューアのポート(デフォルト: 3000)
|
|
386
|
+
-w, --watch ファイル変更の監視と自動リロード
|
|
387
|
+
-e, --exclude <pattern> 除外パターン(正規表現)
|
|
388
|
+
-n, --top <number> 分析の上位N件(デフォルト: 10)
|
|
389
|
+
--save 分析後にスナップショットを保存
|
|
390
|
+
--ci CIモード: 要確認ファイルがあれば exit 1
|
|
391
|
+
--json JSON形式で出力(context コマンド)
|
|
392
|
+
--lang <locale> 言語: en | ja(LANG から自動検出)
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
## Claude Code Skills
|
|
396
|
+
|
|
397
|
+
`skills/` ディレクトリをプロジェクトにコピー:
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
cp -r node_modules/archtracker-mcp/skills/ .claude/skills/
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
| スキル | 説明 |
|
|
404
|
+
|--------|------|
|
|
405
|
+
| `/arch-analyze` | 包括的なアーキテクチャ分析を実行 |
|
|
406
|
+
| `/arch-check` | スナップショットと現在のコードを比較 |
|
|
407
|
+
| `/arch-snapshot` | 現在のアーキテクチャスナップショットを保存 |
|
|
408
|
+
| `/arch-context` | 有効なファイルパスでAIセッションを初期化 |
|
|
409
|
+
| `/arch-search` | アーキテクチャ検索(パス、影響、重要度、孤立) |
|
|
410
|
+
|
|
411
|
+
## プログラマティック API
|
|
412
|
+
|
|
413
|
+
```typescript
|
|
414
|
+
import {
|
|
415
|
+
analyzeProject,
|
|
416
|
+
saveSnapshot,
|
|
417
|
+
loadSnapshot,
|
|
418
|
+
computeDiff,
|
|
419
|
+
formatDiffReport,
|
|
420
|
+
formatAnalysisReport,
|
|
421
|
+
} from "archtracker-mcp";
|
|
422
|
+
|
|
423
|
+
// 分析
|
|
424
|
+
const graph = await analyzeProject("src", { exclude: ["__tests__"] });
|
|
425
|
+
|
|
426
|
+
// スナップショット
|
|
427
|
+
const snapshot = await saveSnapshot(".", graph);
|
|
428
|
+
|
|
429
|
+
// 差分比較
|
|
430
|
+
const prev = await loadSnapshot(".");
|
|
431
|
+
if (prev) {
|
|
432
|
+
const diff = computeDiff(prev.graph, graph);
|
|
433
|
+
console.log(formatDiffReport(diff));
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
## CI / CD
|
|
438
|
+
|
|
439
|
+
### GitHub Actions ワークフローの自動生成
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
archtracker ci-setup --target src
|
|
443
|
+
# .github/workflows/arch-check.yml を生成
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
## 多言語対応
|
|
447
|
+
|
|
448
|
+
`LANG` / `LC_ALL` 環境変数から自動検出されます:
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
LANG=ja_JP.UTF-8 archtracker analyze # 日本語出力
|
|
452
|
+
archtracker --lang ja check # 明示的に日本語指定
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
Web ビューアでも設定パネルから言語を切り替え可能です。
|
|
456
|
+
|
|
457
|
+
## 動作要件
|
|
458
|
+
|
|
459
|
+
- **Node.js** >= 18.0.0
|
|
460
|
+
- **TypeScript / JavaScript** プロジェクト(依存関係分析用)
|
|
461
|
+
|
|
462
|
+
## コントリビュート
|
|
463
|
+
|
|
464
|
+
[CONTRIBUTING.md](CONTRIBUTING.md) をご覧ください。
|
|
465
|
+
|
|
466
|
+
## ライセンス
|
|
467
|
+
|
|
468
|
+
[MIT](LICENSE) © un907
|