{"id":46476168,"url":"https://github.com/un907/archtracker-mcp","last_synced_at":"2026-03-06T07:07:29.918Z","repository":{"id":342296551,"uuid":"1173493497","full_name":"un907/archtracker-mcp","owner":"un907","description":"Architecture \u0026 Dependency Tracker — MCP server + CLI + Web Viewer for AI-driven development","archived":false,"fork":false,"pushed_at":"2026-03-05T14:08:54.000Z","size":983,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-05T17:21:01.991Z","etag":null,"topics":["ai-development","architecture","claude-code","cli","dependency-graph","devtools","mcp","model-context-protocol","static-analysis","typescript","visualization"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/archtracker-mcp","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/un907.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-05T12:32:43.000Z","updated_at":"2026-03-05T14:10:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/un907/archtracker-mcp","commit_stats":null,"previous_names":["un907/archtracker-mcp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/un907/archtracker-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un907%2Farchtracker-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un907%2Farchtracker-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un907%2Farchtracker-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un907%2Farchtracker-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/un907","download_url":"https://codeload.github.com/un907/archtracker-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un907%2Farchtracker-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30161345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"online","status_checked_at":"2026-03-06T02:00:08.268Z","response_time":250,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-development","architecture","claude-code","cli","dependency-graph","devtools","mcp","model-context-protocol","static-analysis","typescript","visualization"],"created_at":"2026-03-06T07:07:29.250Z","updated_at":"2026-03-06T07:07:29.907Z","avatar_url":"https://github.com/un907.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/MCP-Compatible-blue?style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMiAxNWwtNS01IDEuNDEtMS40MUwxMCAxNC4xN2w3LjU5LTcuNTlMMTkgOGwtOSA5eiIvPjwvc3ZnPg==\" alt=\"MCP Compatible\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/v/archtracker-mcp?style=for-the-badge\u0026color=cb3837\u0026logo=npm\" alt=\"npm version\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/un907/archtracker-mcp?style=for-the-badge\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/node/v/archtracker-mcp?style=for-the-badge\u0026logo=node.js\" alt=\"Node.js\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/un907/archtracker-mcp/ci.yml?style=for-the-badge\u0026logo=github\u0026label=CI\" alt=\"CI\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003earchtracker-mcp\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eArchitecture \u0026 Dependency Tracker for AI-Driven Development\u003c/b\u003e\u003cbr\u003e\n  MCP Server + CLI + Web Viewer + Claude Code Skills\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#web-viewer\"\u003eWeb Viewer\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#mcp-tools\"\u003eMCP Tools\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#cli-commands\"\u003eCLI\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#日本語\"\u003e日本語\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Why archtracker?\n\nWhen AI agents modify code, they **miss cascading impacts**:\n\n| Problem | Without archtracker | With archtracker |\n|---------|-------------------|------------------|\n| Agent changes `auth.ts` | Doesn't know 12 files depend on it | Instantly sees all 12 affected files |\n| File renamed during refactor | AI references stale paths next session | `context` command gives current valid paths |\n| New dependency added | No visibility into coupling increase | Diff report flags the architectural change |\n| PR review | Manual dependency tracing | CI auto-checks for architecture drift |\n\n**archtracker-mcp** provides dependency analysis, snapshot diffing, impact simulation, and interactive visualization — all accessible via MCP tools, CLI, web UI, or Claude Code Skills.\n\n## Features\n\n- **Dependency Graph Analysis** — Regex-based static analysis for **13 languages** (JS/TS, Python, Rust, Go, Java, C/C++, C#, Ruby, PHP, Swift, Kotlin, Dart, Scala)\n- **Interactive Web Viewer** — Force-directed graph, hierarchy diagram, diff view with D3.js\n- **Impact Simulation** — Click any file to visualize transitive dependents (BFS traversal)\n- **Snapshot Diffing** — Save architecture snapshots and detect drift over time\n- **MCP Server** — 5 tools for Claude Code / AI agents via Model Context Protocol\n- **Claude Code Skills** — 5 slash commands (`/arch-check`, `/arch-snapshot`, etc.)\n- **CI Integration** — `--ci` mode + auto-generated GitHub Actions workflow\n- **Bilingual** — Full English/Japanese support (auto-detected from `LANG` env)\n- **Dark/Light Theme** — Settings persist via localStorage\n- **SVG/PNG Export** — Export dependency graphs for documentation\n\n## Quick Start\n\n### Install\n\n```bash\nnpm install -g archtracker-mcp\n```\n\n### 1. Analyze your project\n\n```bash\narchtracker analyze --target src\n```\n\n### 2. Save a baseline snapshot\n\n```bash\narchtracker init --target src\n```\n\n### 3. Launch the web viewer\n\n```bash\narchtracker serve --target src --watch\n# =\u003e http://localhost:3000\n```\n\n### 4. Check for architecture drift\n\n```bash\narchtracker check --target src\n```\n\n## Web Viewer\n\nThe interactive web viewer provides three visualization modes:\n\n### Graph View (Force-Directed)\n\n![Graph View](docs/screenshots/graph-view-dark.png)\n\n- Drag, zoom, and click nodes to explore dependencies\n- Click a node to **pin** its highlight — hover other nodes to compare\n- Filter by directory with bottom pills\n- Adjust gravity, node size, font size, link opacity\n- **Impact mode**: click any file to see all transitively affected files\n\n![Impact Simulation](docs/screenshots/impact-simulation.png)\n\n### Hierarchy View (DAG Layout)\n\n![Hierarchy View](docs/screenshots/hierarchy-view.png)\n\n- Layered top-down layout showing dependency depth\n- Click-to-pin highlighting with detail panel\n- Directory-based color coding with legend\n\n### Diff View\n\n![Diff View](docs/screenshots/diff-view.png)\n\n- Color-coded visualization of architecture changes\n- Green = added, Red = removed, Yellow = modified, Blue = affected\n- Available when a snapshot exists for comparison\n\n```bash\n# Launch with auto-reload on file changes\narchtracker serve --target src --port 3456 --watch\n```\n\n## MCP Tools\n\nAdd archtracker as an MCP server for Claude Code or any MCP-compatible AI agent:\n\n```json\n{\n  \"mcpServers\": {\n    \"archtracker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"archtracker-mcp\"]\n    }\n  }\n}\n```\n\n| Tool | Description |\n|------|-------------|\n| `generate_map` | Analyze dependency graph and return structured JSON |\n| `save_architecture_snapshot` | Save snapshot to `.archtracker/snapshot.json` |\n| `check_architecture_diff` | Compare snapshot with current code, show impacts |\n| `get_current_context` | Get valid file paths and architecture summary |\n| `search_architecture` | Search by path, impact, criticality, or orphans |\n\n## CLI Commands\n\n```\narchtracker init [options]       Generate initial architecture snapshot\narchtracker analyze [options]    Comprehensive analysis report\narchtracker check [options]      Compare snapshot with current code\narchtracker context [options]    Show architecture context (for AI sessions)\narchtracker serve [options]      Launch interactive web viewer\narchtracker ci-setup [options]   Generate GitHub Actions workflow\n\nOptions:\n  -t, --target \u003cdir\u003e       Target directory (default: \"src\")\n  -r, --root \u003cdir\u003e         Project root (default: \".\")\n  -l, --language \u003clang\u003e    Target language (auto-detected if omitted)\n  -p, --port \u003cnumber\u003e      Port for web viewer (default: 3000)\n  -w, --watch              Watch for file changes and auto-reload\n  -e, --exclude \u003cpattern\u003e  Exclude patterns (regex)\n  -n, --top \u003cnumber\u003e       Top N components in analysis (default: 10)\n  --save                   Save snapshot after analysis\n  --ci                     CI mode: exit 1 if review needed\n  --json                   JSON output (context command)\n  --lang \u003clocale\u003e          Language: en | ja (auto-detected from LANG)\n```\n\n## Claude Code Skills\n\nCopy the `skills/` directory to your project:\n\n```bash\ncp -r node_modules/archtracker-mcp/skills/ .claude/skills/\n```\n\n| Skill | Description |\n|-------|-------------|\n| `/arch-analyze` | Run comprehensive architecture analysis |\n| `/arch-check` | Compare snapshot with current code |\n| `/arch-snapshot` | Save current architecture snapshot |\n| `/arch-context` | Initialize AI session with valid paths |\n| `/arch-search` | Search architecture (path, impact, critical, orphan) |\n\n## Programmatic API\n\n```typescript\nimport {\n  analyzeProject,\n  saveSnapshot,\n  loadSnapshot,\n  computeDiff,\n  formatDiffReport,\n  formatAnalysisReport,\n} from \"archtracker-mcp\";\n\n// Analyze\nconst graph = await analyzeProject(\"src\", { exclude: [\"__tests__\"] });\n\n// Snapshot\nconst snapshot = await saveSnapshot(\".\", graph);\n\n// Diff\nconst prev = await loadSnapshot(\".\");\nif (prev) {\n  const diff = computeDiff(prev.graph, graph);\n  console.log(formatDiffReport(diff));\n}\n```\n\n## CI / CD\n\n### Auto-generate GitHub Actions workflow\n\n```bash\narchtracker ci-setup --target src\n# Creates .github/workflows/arch-check.yml\n```\n\n### Manual setup\n\n```yaml\n# .github/workflows/arch-check.yml\nname: Architecture Check\non:\n  pull_request:\n    branches: [main]\njobs:\n  arch-check:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: \"20\"\n      - run: npm ci\n      - run: npx archtracker check --target src --ci\n```\n\n## i18n\n\nLanguage is auto-detected from `LANG` / `LC_ALL` environment variables:\n\n```bash\nLANG=ja_JP.UTF-8 archtracker analyze   # Japanese output\narchtracker --lang ja check             # Explicit Japanese\n```\n\nThe web viewer also supports language switching via the settings panel.\n\n## Requirements\n\n- **Node.js** \u003e= 18.0.0\n\nSupported languages: JavaScript/TypeScript, Python, Rust, Go, Java, C/C++, C#, Ruby, PHP, Swift, Kotlin, Dart, Scala\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\n[MIT](LICENSE) \u0026copy; un907\n\n---\n\n\u003ca id=\"日本語\"\u003e\u003c/a\u003e\n\n\u003ch1 align=\"center\"\u003earchtracker-mcp \u003csub\u003e(日本語)\u003c/sub\u003e\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eAI駆動開発のためのアーキテクチャ \u0026 依存関係トラッカー\u003c/b\u003e\u003cbr\u003e\n  MCP サーバー + CLI + Web ビューア + Claude Code Skills\n\u003c/p\u003e\n\n## なぜ archtracker？\n\nAI エージェントがコードを修正する際、**波及的な影響を見逃します**：\n\n| 問題 | archtracker なし | archtracker あり |\n|------|-----------------|-----------------|\n| `auth.ts` を変更 | 12ファイルが依存していることを知らない | 影響を受ける全12ファイルを即座に表示 |\n| リファクタでファイル名変更 | 次のセッションで古いパスを参照 | `context` コマンドで現在の有効パスを取得 |\n| 新しい依存関係を追加 | 結合度の増加が見えない | 差分レポートがアーキテクチャ変更を検出 |\n| PRレビュー | 手動で依存関係を追跡 | CIが自動でアーキテクチャドリフトをチェック |\n\n**archtracker-mcp** は依存関係分析、スナップショット差分、影響シミュレーション、インタラクティブな可視化を提供します。MCP ツール、CLI、Web UI、Claude Code Skills からアクセス可能です。\n\n## 機能\n\n- **依存関係グラフ分析** — 正規表現ベースの静的解析、**13言語**対応（JS/TS, Python, Rust, Go, Java, C/C++, C#, Ruby, PHP, Swift, Kotlin, Dart, Scala）\n- **インタラクティブ Web ビューア** — D3.js による力学モデルグラフ、階層図、差分ビュー\n- **影響シミュレーション** — ファイルをクリックして推移的な被依存ファイルを可視化（BFS探索）\n- **スナップショット差分** — アーキテクチャスナップショットを保存し、ドリフトを検出\n- **MCP サーバー** — Model Context Protocol 経由で5つのツールを提供\n- **Claude Code Skills** — 5つのスラッシュコマンド（`/arch-check`、`/arch-snapshot` 等）\n- **CI 統合** — `--ci` モード + GitHub Actions ワークフロー自動生成\n- **多言語対応** — 日本語・英語完全対応（`LANG` 環境変数から自動検出）\n- **ダーク/ライトテーマ** — localStorage で設定を永続化\n- **SVG/PNG エクスポート** — ドキュメント用にグラフをエクスポート\n\n## クイックスタート\n\n### インストール\n\n```bash\nnpm install -g archtracker-mcp\n```\n\n### 1. プロジェクトを分析\n\n```bash\narchtracker analyze --target src\n```\n\n### 2. ベースラインスナップショットを保存\n\n```bash\narchtracker init --target src\n```\n\n### 3. Web ビューアを起動\n\n```bash\narchtracker serve --target src --watch\n# =\u003e http://localhost:3000\n```\n\n### 4. アーキテクチャドリフトをチェック\n\n```bash\narchtracker check --target src\n```\n\n## Web ビューア\n\nインタラクティブな Web ビューアは3つの可視化モードを提供します：\n\n### グラフビュー（力学モデル）\n\n![グラフビュー](docs/screenshots/graph-view-dark.png)\n\n- ドラッグ、ズーム、クリックでノードの依存関係を探索\n- ノードをクリックでハイライトを**ピン固定** — 他のノードをホバーして比較\n- 下部のピルでディレクトリごとにフィルタリング\n- 重力、ノードサイズ、フォントサイズ、リンク透明度を調整可能\n- **影響モード**: ファイルをクリックして推移的に影響を受ける全ファイルを表示\n\n![影響シミュレーション](docs/screenshots/impact-simulation.png)\n\n### 階層ビュー（DAGレイアウト）\n\n![階層ビュー](docs/screenshots/hierarchy-view.png)\n\n- 依存の深さを示すレイヤー型トップダウンレイアウト\n- クリックでピン固定 + 詳細パネル\n- ディレクトリベースの色分け + 凡例\n\n### 差分ビュー\n\n![差分ビュー](docs/screenshots/diff-view.png)\n\n- アーキテクチャ変更の色分け可視化\n- 緑=追加、赤=削除、黄=変更、青=影響\n- スナップショットが存在する場合に利用可能\n\n```bash\n# ファイル変更の自動リロード付きで起動\narchtracker serve --target src --port 3456 --watch\n```\n\n## MCP ツール\n\narchtracker を MCP サーバーとして Claude Code や MCP 互換 AI エージェントに追加：\n\n```json\n{\n  \"mcpServers\": {\n    \"archtracker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"archtracker-mcp\"]\n    }\n  }\n}\n```\n\n| ツール | 説明 |\n|--------|------|\n| `generate_map` | 依存関係グラフを解析し構造化JSONで返す |\n| `save_architecture_snapshot` | `.archtracker/snapshot.json` にスナップショットを保存 |\n| `check_architecture_diff` | スナップショットと現在のコードを比較し影響を表示 |\n| `get_current_context` | 有効なファイルパスとアーキテクチャサマリーを取得 |\n| `search_architecture` | パス、影響範囲、重要度、孤立ファイルで検索 |\n\n## CLI コマンド\n\n```\narchtracker init [options]       初期アーキテクチャスナップショットを生成\narchtracker analyze [options]    包括的な分析レポート\narchtracker check [options]      スナップショットと現在のコードを比較\narchtracker context [options]    アーキテクチャコンテキストを表示（AIセッション用）\narchtracker serve [options]      インタラクティブ Web ビューアを起動\narchtracker ci-setup [options]   GitHub Actions ワークフローを生成\n\nオプション:\n  -t, --target \u003cdir\u003e       対象ディレクトリ（デフォルト: \"src\"）\n  -r, --root \u003cdir\u003e         プロジェクトルート（デフォルト: \".\"）\n  -l, --language \u003clang\u003e    対象言語（省略時は自動検出）\n  -p, --port \u003cnumber\u003e      Web ビューアのポート（デフォルト: 3000）\n  -w, --watch              ファイル変更の監視と自動リロード\n  -e, --exclude \u003cpattern\u003e  除外パターン（正規表現）\n  -n, --top \u003cnumber\u003e       分析の上位N件（デフォルト: 10）\n  --save                   分析後にスナップショットを保存\n  --ci                     CIモード: 要確認ファイルがあれば exit 1\n  --json                   JSON形式で出力（context コマンド）\n  --lang \u003clocale\u003e          言語: en | ja（LANG から自動検出）\n```\n\n## Claude Code Skills\n\n`skills/` ディレクトリをプロジェクトにコピー：\n\n```bash\ncp -r node_modules/archtracker-mcp/skills/ .claude/skills/\n```\n\n| スキル | 説明 |\n|--------|------|\n| `/arch-analyze` | 包括的なアーキテクチャ分析を実行 |\n| `/arch-check` | スナップショットと現在のコードを比較 |\n| `/arch-snapshot` | 現在のアーキテクチャスナップショットを保存 |\n| `/arch-context` | 有効なファイルパスでAIセッションを初期化 |\n| `/arch-search` | アーキテクチャ検索（パス、影響、重要度、孤立） |\n\n## プログラマティック API\n\n```typescript\nimport {\n  analyzeProject,\n  saveSnapshot,\n  loadSnapshot,\n  computeDiff,\n  formatDiffReport,\n  formatAnalysisReport,\n} from \"archtracker-mcp\";\n\n// 分析\nconst graph = await analyzeProject(\"src\", { exclude: [\"__tests__\"] });\n\n// スナップショット\nconst snapshot = await saveSnapshot(\".\", graph);\n\n// 差分比較\nconst prev = await loadSnapshot(\".\");\nif (prev) {\n  const diff = computeDiff(prev.graph, graph);\n  console.log(formatDiffReport(diff));\n}\n```\n\n## CI / CD\n\n### GitHub Actions ワークフローの自動生成\n\n```bash\narchtracker ci-setup --target src\n# .github/workflows/arch-check.yml を生成\n```\n\n## 多言語対応\n\n`LANG` / `LC_ALL` 環境変数から自動検出されます：\n\n```bash\nLANG=ja_JP.UTF-8 archtracker analyze   # 日本語出力\narchtracker --lang ja check             # 明示的に日本語指定\n```\n\nWeb ビューアでも設定パネルから言語を切り替え可能です。\n\n## 動作要件\n\n- **Node.js** \u003e= 18.0.0\n\n対応言語: JavaScript/TypeScript, Python, Rust, Go, Java, C/C++, C#, Ruby, PHP, Swift, Kotlin, Dart, Scala\n\n## コントリビュート\n\n[CONTRIBUTING.md](CONTRIBUTING.md) をご覧ください。\n\n## ライセンス\n\n[MIT](LICENSE) \u0026copy; un907\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun907%2Farchtracker-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fun907%2Farchtracker-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun907%2Farchtracker-mcp/lists"}