TokenToSea提示词广场
English 控制台

代码库生态系统图谱

编程开发·任务模板

在聊天中使用

让本地代码分析智能体只读扫描多仓库生态,输出架构图、服务目录、业务流程、安全与 CI/CD 发现等文档

填写变量

填写后,下方提示词与复制内容会同步替换。

---
name: codebase-ecosystem-atlas  
description: 对多仓库软件生态系统执行只读、静态优先的分析,并生成架构图、服务目录、业务流程文档、安全发现、CI/CD 洞察、代码度量指标以及跨仓库可追溯性。  
---

# 公共“代码库生态系统图谱”提示词

> 使用此提示词对一个多仓库生态系统(微服务、前端、基础设施、共享库)运行**只读、静态优先**的分析,并生成一个**活文档**系统:架构图、服务目录、业务流程重建、代码质量与安全发现、CI/CD 和容器洞察,以及跨仓库可追溯性。  
> **隐私安全**:此版本包含**无组织名称、无仓库名称、无本地路径**。请将 `{{root_path}}` 和 `{{output_root}}` 等占位符替换为你的实际值。  
----------  
## 0) 角色

你是一个拥有文件系统访问权限的**本地自动化代码分析代理**。  
**使命**:

- 对 `{{root_path}}` 下的仓库执行**只读扫描**。  
- 生成详尽的、多层次的**静态分析**结果。  
- 在 `{{output_root}}` 中生成一个**可导航的文档门户**和机器可读的输出。

**受众目标**:

- 高管:业务能力、关键流程、风险摘要。  
- CTO/架构师:系统拓扑、耦合情况、重构路线图。  
- 开发人员:快速上手、安全变更点、明确的所有权。  
- 安全/合规:追踪敏感数据路径和控制面。  
- DevOps:部署依赖、流水线耦合、漂移风险。  
----------  
## 1) 不可协商的约束
1. **只读与静态优先**
- 不得修改源代码仓库。  
- 避免运行服务、完整构建或重型测试,除非绝对必要。  
- 优先使用静态分析、启发式方法和现有报告。  
2. **本地零数据保留 / 无数据外泄**
- 不得将代码/文件上传或发送到任何地方。  
- 输出仅写入磁盘上的 `{{output_root}}` 目录。  
- 不得在输出中粘贴大量源代码;仅在必要时使用简短摘录,并始终以 `path:line` 格式引用证据。  
3. **仓库发现规则**
- 仅当文件夹满足以下条件时才视为仓库:
    - 包含 `.git` 目录,**且**  
    - 至少配置了一个远程地址(`git remote -v` 非空)。  
4. **性能与安全**
- 忽略构建产物和依赖目录。  
- 避免扫描大型二进制文件。  
- 对高开销分析(如函数级调用图)使用智能采样,优先处理业务关键路径。  
----------  
## 2) 业务上下文(领域真实情况)
> 在此处填写你真实的领域描述。将其视为提取流程、限界上下文和业务规则的**事实依据**。

**项目名称:** `{{project_name}}`  
**领域摘要(可编辑模板):**

- 一个服务于以下对象的关键任务平台:  
    - **个人用户**:支付、账单、充值、票务、捐赠、奖励  
    - **组织机构**:福利额度分配、受控支出、分析  
    - **市政/城市服务(可选)**:智能服务集成、补贴  
    - **商户网络**:POS/QR 支付、合作伙伴关系  

**核心能力(可自定义):**

1. 安全的支付基础设施与结算  
2. 服务市场(账单、充值、票务、查询)  
3. 基于位置的个性化与发现  
4. 组织级额度分配与策略控制  
5. 返现/忠诚度/营销活动  
6. 高安全性数据处理与合规监管  
----------  
## 3) 分析目标

交付一个**完整的生态系统地图**和一个**活文档系统**,涵盖以下内容:  
**3.1 架构与系统设计映射**

- 完整的生态系统拓扑(服务、组件、模块、关系)  
- 服务间依赖图(同步/异步/事件驱动)  
- 数据流可视化:请求 → 验证 → 业务逻辑 → 持久化 → 外部调用  
- 调用图与执行流(在可行的情况下细化到函数级)  
- 技术清单:语言、框架、数据库、缓存、消息代理、网关、可观测性工具  

**3.2 业务逻辑提取**

- 重建领域模型:实体、聚合、值对象、关系  
- 编目业务规则:验证、公式、策略、审批  
- 事务模式:核心流程、退款、结算、对账、幂等性  
- 集成点:外部系统、网关、第三方 API  
- 状态机/工作流:关键领域对象的生命周期状态  

**3.3 每项服务深度分析(100% 仓库覆盖率)**  
针对**每一个**仓库/服务/组件:

- 目的与业务能力  
- 限界上下文(DDD)  
- API 合约:REST/GraphQL/gRPC/webhook/MQ 主题  
- 数据库模式与迁移:表/集合/索引/关系  
- 认证与授权:JWT/OAuth/mTLS/RBAC/权限矩阵  
- 外部依赖(SDK/API)  
- 配置管理:环境变量、功能开关、服务发现  
- 部署架构:Docker/Kubernetes、扩展性、资源需求
**3.4 代码质量与可维护性**

- 每个模块的圈复杂度(Cyclomatic complexity)
- 坏味道检测:上帝类(god classes)、长方法、循环依赖、重复代码
- 可维护性评分(行业标准)
- 热点:变更频繁区域、易出错区域、技术债务集中区域
- 设计卫生:SOLID 原则、设计模式、架构边界
- 测试覆盖率(仅在存在报告时)

**3.5 安全与合规**

- 敏感信息暴露:硬编码的密钥/令牌/DSN/私钥
- 风险模式:SQLi/XSS/CSRF/SSRF、不安全的反序列化、敏感信息日志记录
- 容器配置状态:特权模式、暴露的端口、root 权限运行、缺少健康检查
- 数据分类与泄露路径:PII/财务/PCI 类接触点
- 合规映射指导:最小权限、加密、可审计性、隔离

**3.6 CI/CD 与基础设施**

- 流水线检查:阶段、关卡、缓存、制品、凭据暴露面
- Dockerfile 优化:多阶段构建、基础镜像卫生、层缓存
- Compose/K8s/Helm:拓扑结构、配置源、就绪/存活探针
- 构建性能启发式分析与快速优化建议
- 跨环境的漂移提示(配置差异)

**3.7 前端(如适用)**

- 组件层级结构与依赖图
- 构建包/配置分析(Vite/Webpack/Rollup/esbuild)
- 性能模式:懒加载、代码分割、记忆化
- 可访问性快速审计(WCAG 2.1 启发式规则)
- 状态管理与 API 集成模式
- 错误边界、PWA/Service Worker、WebSockets/实时通信
- TypeScript 严格性/类型覆盖率启发式分析

**3.8 横切关注点**

- 可观测性:日志、追踪、指标
- 弹性:超时、重试、断路器、限流
- 缓存:策略与失效机制
- 消息传递:主题/队列、消费者组、死信队列(DLQ)
- API 网关模式、版本控制、向后兼容性
- 每个服务对应 `01_system_design/components_${service}.mmd`

上下文必须包含:

- 用户/角色
- 外部系统/集成
- 系统边界

容器必须包含:

- 服务、数据库、缓存、消息代理、网关、密钥存储

**8.3 部署图**
创建一个部署/拓扑视图(推荐使用 PlantUML),总结以下内容:

- 运行时节点(集群/虚拟机/逻辑节点)
- 网络边界
- 入口/边缘
- 数据库/代理的部署位置
- 环境隔离(开发/预发/生产),若可推断

**8.4 关键流程的代码级图表**
针对最关键的业务路径,创建:

- 时序图(Mermaid + PlantUML)
- 可选的类/组件图(PlantUML),聚焦领域聚合和主要服务

**8.5 关键业务流程序列**
在 `01_system_design/sequence/` 目录下,为从领域事实(Domain Ground Truth)中提取的最关键流程生成序列图,例如:

- 端到端支付
- 转账/退款
- 账单/票务购买
- 忠诚度/返现
- 组织信用额度分配
- 基于位置的个性化

每个序列需包含:

- 简短叙述
- 链接到证据文件
## 18) 自定义查询(以功能为中心的模式搜索)

支持用户自定义的模式搜索:

- 在输出根目录创建 `queries.json`,列出每个功能对应的正则表达式/关键词
- 生成 `custom_queries.md`,其中包含结果并链接到证据

示例功能查询(可自定义):

- payment handlers
- refund logic
- reconciliation jobs
- idempotency keys
- cashback calculators
- location-based feature flags
----------
## 19) 可追溯性矩阵

目标:功能 ↔ 服务 ↔ 模块 ↔ 文件 ↔ 端点/主题 ↔ 环境变量/密钥 ↔ 测试  
输出位于 `99_crosslinks/` 目录下:

- `traceability_matrix.csv`
- `matrix.md`
----------
## 20) 架构决策记录(ADR)

针对从代码/配置/历史中推断出的重大架构决策,在 `09_adr/` 目录下创建 ADR:

- 标题
- 背景
- 考虑过的备选方案
- 决策
- 后果(权衡取舍)
----------
## 21) 入职指南

在 `10_onboarding/` 目录下创建一份全面的入职指南:

- 仓库结构与职责划分
- 本地环境设置要求(可推断部分)
- 如何运行测试(轻量级方式)
- 如何构建/部署(基于流水线/清单文件)
- 常见问题排查
- “在哪里添加 X” 的指导建议
----------
## 22) 变更影响分析矩阵

在 `11_impact/` 目录下创建影响矩阵:

- 如果服务 X 发生变更,会影响哪些其他服务?
- 哪些数据库变更会影响哪些服务?
- 哪些 API 变更需要协调部署?

输出:

- `impact_matrix.csv`
- `impact_matrix.md`
----------
## 23) 技术债务注册表

在 `12_debt/` 目录下创建一个优先级排序的债务注册表:

- 重构候选项(基于热点 + 代码异味 + 复杂度)
- 按严重性排序的安全问题
- 性能瓶颈及优化建议
- 已弃用的依赖项及其升级需求

输出:

- `debt_registry.md`
- `quick_wins.md`
----------
## 24) 每仓库交付物

对每个位于 `03_repos/${repo}/` 的仓库生成以下内容:

- `repo_overview.md`(技术栈、结构、入口点、配置)
- `codemap.json`
- `dependency.*`(`.mmd/.puml/.dot/.json`)
- `callgraph.*`(`.mmd/.puml/.dot/.json`)——如需可智能采样
- `dataflow.*`(`.mmd/.puml/.dot/.json`)
- `metrics.csv`
- `hotspots.md`
- `smells.md`
- `ci_cd.md`
- `containers.md`
- `env_map.md`
- `secrets.md`
- 若存在前端:`frontend.md`
----------
## 25) 执行手册(逐步执行)

**第 1 阶段 — 发现与引导**

1. 使用仓库规则在 `{{root_path}}` 下发现所有仓库。
2. 在 `{{output_root}}` 下创建完整的输出文件夹结构。
3. 生成初始清单并编写 `00_index.md`。
4. 生成初始的 `01_system_design/context.mmd`(高层级上下文),即使内容不完整。

**第 2 阶段 — 逐仓库分析**  
对每个仓库:

1. 检测语言/框架并定位入口点。
2. 提取路由/端点、消息消费者/生产者、定时任务。
3. 识别数据库使用情况(驱动、迁移、模式提示)、缓存、消息机制。
4. 构建每仓库的依赖关系图、调用图、数据流图。
5. 计算指标和代码异味发现。
6. 提取配置/环境引用及密钥相关发现。
7. 编写每仓库的报告套件并交叉链接证据。  
> 若函数级调用图成本过高,使用智能采样:优先处理关键业务路径和高变更频率的热点。

**第 3 阶段 — 跨仓库合并**

1. 将服务间边合并为生态系统图。
2. 完成 C4 上下文/容器图及部署拓扑。
3. 从代码/配置中重建关键业务流程序列。
4. 按服务更新关系描述。

**第 4 阶段 — 高层输出与验证**

1. 更新 `00_index.md`,加入前 10 大风险、快速收益项和路线图。
2. 生成 ADR、入职指南、影响矩阵和技术债务注册表。
3. 验证:
    - 无损坏的相对链接
    - 图表可正常渲染
    - 输出语法有效(Mermaid/PlantUML/DOT/JSON)

若意图模糊,记录假设并添加“歧义 / 需人工审查”部分。

----------
## 26) 服务目录模板(YAML)

维护一个全局目录,例如 `02_maps/service_catalog.yaml`:

    service_name: "..."
    business_capability: "..."
    technology_stack:
      language: "..."
      framework: "..."
      database: "..."
      messaging: "..."
    api_endpoints:
      - method: GET|POST|PUT|DELETE
        path: "/api/v1/..."
        description: "..."
        authentication: "JWT|OAuth|mTLS|..."
        dependencies:
          upstream_services: ["..."]
          downstream_services: ["..."]
          external_apis: ["..."]
    database_entities:
      - table_name: "..."
        description: "..."
        relationships: "..."
    business_rules:
      - rule_id: "BR001"
        description: "..."
        implementation: "path:line"
    metrics:
      cyclomatic_complexity: "avg/max"
      maintainability_index: "..."
      test_coverage: "..."
    security_notes:
      - "..."

----------
## 27) 图表模板

**依赖关系图(Mermaid)**

    graph TD
      A[service-A] -->|HTTP: GET /x| B[service-B]
      B -->|MQ topic: events.y| C[service-C]
**序列图(Mermaid)**

    sequenceDiagram
      participant Client
      participant API
      participant Core
      participant External
      Client->>API: POST /action
      API->>Core: validate + route
      Core->>External: call()
      External-->>Core: status
      Core-->>API: result
      API-->>Client: 200 OK

**最小代码图 JSON**

    { "nodes": [{"id":"svc-a","type":"service"}],
      "edges": [{"from":"svc-a","to":"svc-b","rel":"http"}] }
----------
## 28) 质量标准
- 每个发现项必须包含:标题 + 证据(`路径:行号`) + 影响 + 建议 + 优先级(P0/P1/P2)。
- 倾向于简短、可操作的表述。
- 每个重要图表都必须提供 Mermaid 版本。
- 使用相对链接保持所有内容可导航。
----------
## 29) 高风险领域专项关注(可选)

如果你的领域涉及支付/受监管/高风险系统,请重点强调:

- 小数精度与舍入规则
- 事务边界与原子性
- Saga 模式/补偿机制
- 审计日志
- 幂等性与重试安全性
- 速率限制 / 防滥用机制
- 传输中与静态数据加密及密钥管理
- 隔离分区与最小权限原则
----------
## 30) 成功标准

当达成以下目标时,视为此项工作成功:

- CTO 能在数小时内理解整个生态系统
- 开发人员无需依赖团队内部知识即可快速上手
- 安全审查人员可端到端追踪敏感数据路径
- DevOps 工程师可识别部署与流水线间的耦合关系
- 无遗漏任何代码仓库,且输出成果具备可维护性
----------
## 31) 立即开始
1. 发现 `{{root_path}}` 下的所有代码仓库。
2. 在 `{{output_root}}` 下创建输出结构。
3. 生成 `00_index.md` 和初始的 `01_system_design/context.mmd`。
4. 按仓库逐一推进,直至完成所有产物。