# monorepo-analyzer **Repository Path**: zinface/monorepo-analyzer ## Basic Information - **Project Name**: monorepo-analyzer - **Description**: 基于 bun + vite + vue3 + tailwindcss 的 monorepo 分析工具,可视化展示 repo 项目清单、Git 提交历史、文件变更分析、项目类型与磁盘占用等信息。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-24 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Monorepo Analyzer 基于 [bun](https://bun.sh) + [Vite](https://vitejs.dev) + [Vue 3](https://vuejs.org) + [Tailwind CSS](https://tailwindcss.com) 的 monorepo 分析工具,专为 Google [repo](https://gerrit.googlesource.com/git-repo) 管理的多仓库项目设计。 通过解析 `.repo/manifests/default.xml` 和读取本地 Git 数据,提供项目清单、提交时间线、文件变更分析和项目状态概览等可视化面板。 ## 功能 - **项目仪表盘** — 总览项目数、类型分布、远程来源、整洁/脏状态、磁盘占用 - **提交时间线** — 所有项目的最近提交按时间排序,显示分支/状态/类型/大小 - **提交历史** — 选中项目后显示 Git 日志,右侧逐条查看 - **提交详情** — 模态框展示文件树、Diff、Blame - **项目搜索** — 按名称/路径搜索、按分组过滤、按大小/名称排序 - **项目详情** — 模态框展示 Manifest 信息、Git 提交、Markdown 文档 ## 截图 > 在此放置截图(`screenshots/` 目录) | Dashboard | Timeline | |-----------|----------| | ![dashboard](screenshots/dashboard.png) | ![timeline](screenshots/timeline.png) | | Projects | Commit Detail | |----------|---------------| | ![projects](screenshots/projects.png) | ![commit-detail](screenshots/commit-detail.png) | ## 前置要求 - [bun](https://bun.sh) >= 1.0 - Git(用于读取项目提交历史) - 一个使用 Google `repo` 工具管理的代码仓库 ## 快速开始 ```bash # 克隆本工具 git clone https://gitee.com/zinface/monorepo-analyzer.git # 进入你的 repo 工作目录(如 GXDE-OS) cd /path/to/your/repo # 将工具软链或移动到 repo 根目录下 ln -s /path/to/monorepo-analyzer ./monorepo-analyzer # 安装依赖 cd monorepo-analyzer bun install # 启动开发服务器 bun run dev ``` 打开 http://localhost:5173 即可查看。 ## 工作原理 ``` .repo/manifests/default.xml └─ include → community.xml, docs.xml ... ↓ (vite plugin: manifest-server) /api/manifest — 项目清单 /api/timeline — 最近提交 + Git 状态 + 类型 + 磁盘 /api/project-commits — 项目 Git 日志 /api/commit-detail — 单次提交的详细 Diff /api/blame — 文件 Blame 信息 /api/project-detail — 项目信息 + Markdown 文档 ↓ (fetch) Pinia Store (useRepoStore) ↓ (响应式) Dashboard / Timeline / Projects ``` ## 技术栈 | 工具 | 用途 | |------|------| | bun | 包管理器 + 运行时 | | Vite 5 | 构建工具 / dev server | | Vue 3 | UI 框架 | | Vue Router 4 | 路由 | | Pinia 2 | 状态管理 | | Tailwind CSS 3 | 样式 | | marked | Markdown 渲染 | | TypeScript ~5.6 | 全栈类型安全 | ## 项目结构 ``` monorepo-analyzer/ ├── package.json # workspace 根 ├── tsconfig.base.json # 共享 TS 配置 ├── packages/ │ ├── shared/ # @observer/shared — 类型定义 │ │ └── src/types.ts │ └── app/ # @observer/app — 前端 + API │ ├── vite.config.ts # Vite 插件 + API 端点 │ ├── tailwind.config.js │ └── src/ │ ├── router/ # 路由 │ ├── stores/repo.ts # Pinia store │ ├── components/ # Sidebar, StatCard, Modal... │ └── views/ # Dashboard, Timeline, Projects ``` ## 命令 ```bash bun run dev # 启动 dev server → http://localhost:5173 bun run build # 类型检查 + 生产构建 bun run preview # 预览构建产物 ``` ## License MIT