根据图片整理项目结构(Image Project Structure)
Overview
将 IDE(如 IntelliJ IDEA)的项目结构截图还原为统一格式的 Markdown 树形文档,便于复制到
README、论文或笔记中。核心是把视觉化的目录树转成可复制的文本树,并应用一组固定的排版约定。
When to Use
- 用户提供工程目录截图(IDEA / Eclipse / VS Code 等),并要求"整理项目结构""用 md 展示"或"从 X 开始整理"。
- 用户希望把目录树导出为 Markdown 文本以便复制粘贴,而非生成文件。
Rules
按以下约定输出;除明确说明外均为缺省行为,无需逐项询问用户。
- 输出形式:用 ```markdown 代码块包裹整棵树,文字可直接复制。除非用户明确要求生成文件,否则只返回文本,不写磁盘。
- 树形符号:默认保留
├──(非末节点)、└──(末节点)、│(层级连接竖线)。若用户要求去掉竖线,则用空格缩进表示层级(每层固定空格),但保留├──/└──。 - 不加注释:目录树中不使用
#行内注释说明含义,用户已知结构含义。 - 剔除 IDE/构建产物:删除以下非源码条目——
.idea、target、.gitignore、External Libraries、Scratches and Consoles。它们不属于项目源码,复制文档时无需包含。 - 目录加斜杠:所有目录名末尾带
/(如src/、user/、org.example/);文件名不带(如User.java、pom.xml)。 - 空目录处理:截图中折叠(带 ▶)且看不到内部内容的目录,只列目录名,不写
...或占位符。 - 识别项目类型:
- Java / Maven 工程:识别启动类(图标带绿圆点)→ 文件名补.java(如User→User.java);包目录(如org.example)按目录加/。
- 父工程(聚合)pom.xml放在最外层根目录;各子模块自带pom.xml。
- 折叠的controller/dao/model/service等子包按空目录处理(规则 6)。 - "从 X 开始"语义:以 X 为根节点重绘树,不包含 X 的父级路径与其同级兄弟模块,仅展开 X 内部。
- 排序:兄弟节点按截图自上而下出现的顺序排列。
- 根节点写法:从项目根(如
weifuwu/)或指定模块(如user/)开始,根名带/。
Examples
例 1:从根目录 weifuwu 开始(多模块 Maven 工程)
weifuwu/
├── e1/
├── eureka/
├── feign-api/
├── goods/
├── order/
├── user/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org.example/
│ │ │ │ ├── controller/
│ │ │ │ ├── dao/
│ │ │ │ ├── model/
│ │ │ │ ├── service/
│ │ │ │ └── User.java
│ │ └── resources/
│ │ └── test/
│ └── pom.xml
└── pom.xml
例 2:从 user 模块开始("从 user 开始")
user/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── org.example/
│ │ │ ├── controller/
│ │ │ ├── dao/
│ │ │ ├── model/
│ │ │ ├── service/
│ │ │ └── User.java
│ │ └── resources/
│ └── test/
└── pom.xml
例 3:单模块 Eureka 工程 weifuwu-eureka
weifuwu-eureka
├── A/
├── B/
├── eureka-server/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org.example/
│ │ │ │ └── EurekaServer.java
│ │ └── resources/
│ │ └── application.yml
│ └── test/
└── pom.xml
Notes
- 若当前模型不支持读取图片,告知用户切换到支持多模态的模型,或请用户提供本地图片路径 / 直接粘贴目录文本。
- 不要臆造截图未展示的内容(如未展开的包内部文件)。
- 若用户后续调整约定(如想要
...、想加注释、想去掉某条剔除规则),以用户最新指示为准,并视情况更新本 skill。
```