项目分析Skill analyzing-projects

这是一个用于快速理解和分析软件项目代码库的技能。它通过系统化的工作流程,帮助开发者或团队识别项目的技术栈、架构模式、目录结构和开发规范。适用于项目交接、代码审查、技术选型评估或快速熟悉新代码库的场景。关键词:代码分析,项目结构,技术栈检测,架构识别,开发工作流,软件工程,代码审查。

架构设计 8 次安装 397 次浏览 更新于 3/2/2026

name: 项目分析 description: 分析代码库以理解其结构、技术栈、模式和约定。适用于入职新项目、探索不熟悉的代码,或被询问“这是如何工作的?”或“架构是什么?”时使用。

项目分析

项目分析工作流程

复制此清单并跟踪进度:

项目分析进度:
- [ ] 步骤1:快速概览(README,根目录文件)
- [ ] 步骤2:检测技术栈
- [ ] 步骤3:映射项目结构
- [ ] 步骤4:识别关键模式
- [ ] 步骤5:查找开发工作流程
- [ ] 步骤6:生成总结报告

步骤1:快速概览

# 检查常见的项目标记
ls -la
cat README.md 2>/dev/null | head -50

步骤2:技术栈检测

包管理器与依赖

  • package.json → Node.js/JavaScript/TypeScript
  • requirements.txt / pyproject.toml / setup.py → Python
  • go.mod → Go
  • Cargo.toml → Rust
  • pom.xml / build.gradle → Java
  • Gemfile → Ruby

框架(从依赖中推断)

  • React, Vue, Angular, Next.js, Nuxt
  • Express, FastAPI, Django, Flask, Rails
  • Spring Boot, Gin, Echo

基础设施

  • Dockerfile, docker-compose.yml → 容器化
  • kubernetes/, k8s/ → Kubernetes
  • terraform/, .tf 文件 → 基础设施即代码
  • serverless.yml → Serverless Framework
  • .github/workflows/ → GitHub Actions

步骤3:项目结构分析

以带注释的树状结构呈现:

项目/
├── src/              # 源代码
│   ├── components/   # UI组件(React/Vue)
│   ├── services/     # 业务逻辑
│   ├── models/       # 数据模型
│   └── utils/        # 共享工具
├── tests/            # 测试文件
├── docs/             # 文档
└── config/           # 配置

步骤4:关键模式识别

查找并报告:

  • 架构:单体、微服务、无服务器、单体仓库
  • API风格:REST、GraphQL、gRPC、tRPC
  • 状态管理:Redux、Zustand、MobX、Context
  • 数据库:SQL、NoSQL、使用的ORM
  • 认证:JWT、OAuth、会话
  • 测试:Jest、Pytest、Go test等

步骤5:开发工作流程

检查:

  • .eslintrc, .prettierrc → 代码检查/格式化
  • .husky/ → Git钩子
  • Makefile → 构建命令
  • package.json中的scripts/ → NPM脚本

步骤6:输出格式

使用此模板生成总结:

# 项目:[名称]

## 概览
[1-2句描述]

## 技术栈
| 类别 | 技术 |
|----------|------------|
| 语言 | TypeScript |
| 框架 | Next.js 14 |
| 数据库 | PostgreSQL |
| ...      | ...        |

## 架构
[描述,如有帮助可附简单ASCII图]

## 关键目录
- `src/` - [用途]
- `lib/` - [用途]

## 入口点
- 主入口:`src/index.ts`
- API:`src/api/`
- 测试:`npm test`

## 约定
- [命名约定]
- [文件组织模式]
- [代码风格偏好]

## 快速命令
| 操作 | 命令 |
|--------|---------|
| 安装 | `npm install` |
| 开发 | `npm run dev` |
| 测试 | `npm test` |
| 构建 | `npm run build` |

分析验证

完成分析后,验证:

分析验证:
- [ ] 所有主要目录已解释
- [ ] 技术栈已准确识别
- [ ] 入口点已记录
- [ ] 开发命令已验证可用
- [ ] 未在无证据的情况下做出假设

如果任何项目无法验证,请在报告中将其标注为“需要澄清”。