文档生成助手

VérifiéSûr

根据CodeStyle项目规范,自动生成API文档、项目文档、技术文档和开发文档的AI助手。

Spar Skills Guide Bot
DocumentationDébutant
22/07/2026
Claude Code
#api-docs#readme#templates#spring-boot#technical-writing

Recommandé pour

Synthèse automatique

Génère de la documentation de projet (référence API, README, documents techniques et de conception de base de données) en suivant les modèles et conventions du projet CodeStyle.

Points forts

  • Couvre quatre familles de documents : API, projet, technique et développement.
  • Fournit des modèles concrets avec annotations Swagger/OpenAPI, Sa-Token et conventions de nommage Spring Boot.
  • Le README modèle est complet : stack, prérequis, étapes d'installation, liens vers la documentation.

Limites

  • Les modèles supposent une stack Java/Spring Boot + Vue/Arco Design, peu transposables à d'autres écosystèmes.
  • Le SKILL.md est tronqué (le modèle de conception de base de données s'arrête au milieu) et ne prévoit aucune vérification du code réel.
  • Les documents générés sont en chinois par défaut, sans option multilingue décrite.
Quand l'utiliser

À utiliser lorsqu'il faut rédiger rapidement une documentation conforme aux conventions d'un projet Spring Boot/Vue de type CodeStyle.

Quand l'éviter

À éviter pour documenter un projet hors de cette stack, ou lorsque la documentation doit être déduite et validée à partir du code source réel.

Analyse de sécurité

Sûr
Score qualité78/100

The skill is a documentation template set and declares no tools. It contains no destructive, exfiltrating, or obfuscated instructions; shell snippets are illustrative deployment examples for legitimate setup. Minor credential/command examples should be reviewed by users before copying into production docs.

Points d'attention
  • •Deployment/README templates include illustrative shell commands (wget, yum, scp, systemctl, chmod) and MySQL root examples; these are documentation content, not executed by the skill.
  • •README template shows default admin/admin123 credentials; generated docs should warn users to change them.
Comment cette analyse est faite

Exemples

API reference
@doc-write 生成 API 文档:
- 模块:用户管理
- 接口:POST /api/user/create
- 功能:创建新用户
Project README
@doc-write 生成 README:
- 项目名称:CodeStyle Search
- 功能:代码模板搜索系统
Database design doc
@doc-write 生成数据库设计文档:
- 模块:订单管理
- 表:t_order、t_order_item

文档生成助手

基于 CodeStyle 项目规范的文档生成工具。


📋 使用方法

告诉 AI 你要生成什么类型的文档,AI 会根据项目规范自动生成。

示例提示:

@doc-write 生成 API 文档:
- 模块:用户管理
- 接口:POST /api/user/create
- 功能:创建新用户

或

@doc-write 生成 README:
- 项目名称:CodeStyle Search
- 功能:代码模板搜索系统

📝 支持的文档类型

1. API 文档

  • Swagger/OpenAPI 注解
  • 接口说明文档
  • 请求/响应示例

2. 项目文档

  • README.md
  • CHANGELOG.md
  • CONTRIBUTING.md

3. 技术文档

  • 架构设计文档
  • 数据库设计文档
  • 部署文档

4. 开发文档

  • 开发指南
  • 最佳实践
  • 故障排查

🔧 文档模板

模板 1:API 接口文档

/**
 * {{模块名称}} API
 */
@Tag(name = "{{模块名称}} API", description = "{{模块描述}}")
@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping("/{{模块路径}}")
public class {{模块}}Controller {

    private final {{模块}}Service {{模块小写}}Service;

    /**
     * 查询{{实体}}列表
     *
     * @param query 查询条件
     * @param pageQuery 分页参数
     * @return 分页结果
     */
    @Operation(summary = "查询{{实体}}列表", description = "支持分页和条件查询")
    @Parameters({
        @Parameter(name = "query", description = "查询条件", required = false),
        @Parameter(name = "pageQuery", description = "分页参数", required = true)
    })
    @SaCheckPermission("{{模块}}:{{实体}}:list")
    @GetMapping
    public PageResp<{{实体}}Resp> page(
        @Valid {{实体}}Query query,
        @Valid PageQuery pageQuery
    ) {
        return {{模块小写}}Service.page(query, pageQuery);
    }

    /**
     * 创建{{实体}}
     *
     * @param req 创建请求
     * @return 创建结果
     */
    @Operation(summary = "创建{{实体}}", description = "创建新的{{实体}}记录")
    @SaCheckPermission("{{模块}}:{{实体}}:create")
    @PostMapping
    public Long create(@Valid @RequestBody {{实体}}Req req) {
        return {{模块小写}}Service.create(req);
    }

    /**
     * 更新{{实体}}
     *
     * @param id 主键
     * @param req 更新请求
     */
    @Operation(summary = "更新{{实体}}", description = "根据ID更新{{实体}}信息")
    @SaCheckPermission("{{模块}}:{{实体}}:update")
    @PutMapping("/{id}")
    public void update(
        @PathVariable Long id,
        @Valid @RequestBody {{实体}}Req req
    ) {
        {{模块小写}}Service.update(id, req);
    }

    /**
     * 删除{{实体}}
     *
     * @param ids 主键列表
     */
    @Operation(summary = "删除{{实体}}", description = "根据ID列表批量删除{{实体}}")
    @SaCheckPermission("{{模块}}:{{实体}}:delete")
    @DeleteMapping
    public void delete(@RequestBody List<Long> ids) {
        {{模块小写}}Service.deleteBatch(ids);
    }
}

模板 2:README.md

# {{项目名称}}

{{项目简介}}

## ✨ 特性

- 🚀 **高性能**:{{性能特点}}
- 🔒 **安全可靠**:{{安全特点}}
- 🎨 **现代化 UI**:{{UI特点}}
- 📦 **开箱即用**:{{易用性特点}}

## 🏗️ 技术栈

### 后端
- Spring Boot 3.2
- MyBatis-Plus 3.5
- Sa-Token 1.37
- MySQL 8.0
- Redis 5.0
- Elasticsearch 8.x

### 前端
- Vue 3.5
- TypeScript 5.x
- Arco Design 2.x
- Vite 5.x
- Pinia 2.x

## 📦 快速开始

### 环境要求

- JDK 17+
- Node.js 18+
- MySQL 8.0+
- Redis 5.0+
- Elasticsearch 8.x

### 安装步骤

1. **克隆项目**

```bash
git clone {{仓库地址}}
cd {{项目目录}}
  1. 配置数据库
# 创建数据库
mysql -u root -p
CREATE DATABASE {{数据库名}} DEFAULT CHARACTER SET utf8mb4;

# 导入数据
mysql -u root -p {{数据库名}} < sql/init.sql
  1. 配置文件

修改 application-dev.yml:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/{{数据库名}}
    username: root
    password: your_password
  1. 启动后端
cd codestyle-admin
mvn clean install
mvn spring-boot:run
  1. 启动前端
cd codestyle-ui
npm install
npm run dev
  1. 访问系统
  • 前端地址:http://localhost:5173
  • 后端地址:http://localhost:8000
  • API 文档:http://localhost:8000/doc.html

默认账号:admin / admin123

📖 文档

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

👥 团队

  • 项目负责人:{{负责人}}
  • 技术支持:{{支持邮箱}}

### 模板 3:数据库设计文档

```markdown
# {{模块}}数据库设计

## 表结构

### {{表名}}

**表名**:`{{表名}}`  
**说明**:{{表说明}}

| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | - | NO | - | 主键 |
| {{字段1}} | {{类型}} | {{长度}} | {{是否}} | {{默认}} | {{说明}} |
| {{字段2}} | {{类型}} | {{长度}} | {{是否}} | {{默认}} | {{说明}} |
| create_time | datetime | - | NO | CURRENT_TIMESTAMP | 创建时间 |
| update_time | datetime | - | YES | NULL | 修改时间 |
| deleted | bigint | - | NO | 0 | 逻辑删除 |

**索引**:
- PRIMARY KEY: `id`
- UNIQUE KEY: `uk_{{字段}}` (`{{字段}}`, `deleted`)
- INDEX: `idx_{{字段}}` (`{{字段}}`)

**建表语句**:

```sql
CREATE TABLE `{{表名}}` (
  `id` bigint NOT NULL COMMENT '主键',
  `{{字段1}}` {{类型}}({{长度}}) NOT NULL COMMENT '{{说明}}',
  `{{字段2}}` {{类型}}({{长度}}) DEFAULT NULL COMMENT '{{说明}}',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `deleted` bigint NOT NULL DEFAULT '0' COMMENT '逻辑删除(0否 ID是)',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_{{字段}}` (`{{字段}}`,`deleted`),
  KEY `idx_{{字段}}` (`{{字段}}`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='{{表说明}}';

ER 图

{{表1}} 1---N {{表2}}
{{表2}} N---1 {{表3}}

数据字典

{{字段名}}

| 值 | 说明 | |----|------| | 0 | {{说明}} | | 1 | {{说明}} | | 2 | {{说明}} |


### 模板 4:部署文档

```markdown
# {{项目名称}} 部署文档

## 环境准备

### 服务器要求

- 操作系统:CentOS 7+ / Ubuntu 20.04+
- CPU:2核+
- 内存:4GB+
- 磁盘:50GB+

### 软件依赖

- JDK 17
- MySQL 8.0
- Redis 5.0
- Nginx 1.20
- Elasticsearch 8.x

## 部署步骤

### 1. 安装 JDK

```bash
# 下载 JDK
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

# 解压
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/

# 配置环境变量
echo 'export JAVA_HOME=/usr/local/jdk-17' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

# 验证
java -version

2. 安装 MySQL

# 安装
yum install mysql-server

# 启动
systemctl start mysqld
systemctl enable mysqld

# 初始化
mysql_secure_installation

3. 部署后端

# 上传 jar 包
scp target/{{项目名}}.jar root@server:/opt/app/

# 创建启动脚本
cat > /opt/app/start.sh << 'EOF'
#!/bin/bash
nohup java -jar {{项目名}}.jar \
  --spring.profiles.active=prod \
  > app.log 2>&1 &
echo $! > app.pid
EOF

chmod +x /opt/app/start.sh

# 启动
cd /opt/app
./start.sh

4. 部署前端

# 构建
npm run build

# 上传
scp -r dist/* root@server:/usr/share/nginx/html/

# 配置 Nginx
cat > /etc/nginx/conf.d/{{项目名}}.conf << 'EOF'
server {
    listen 80;
    server_name {{域名}};
    
    location / {
        root /usr/share/nginx/html;
        try_files $uri $uri/ /index.html;
    }
    
    location /api {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
EOF

# 重启 Nginx
nginx -t
systemctl reload nginx

监控与维护

日志查看

# 应用日志
tail -f /opt/app/app.log

# Nginx 日志
tail -f /var/log/nginx/access.log

健康检查

# 检查服务状态
curl http://localhost:8000/actuator/health

# 检查进程
ps aux | grep java

备份策略

# 数据库备份
mysqldump -u root -p {{数据库名}} > backup_$(date +%Y%m%d).sql

# 定时备份(每天凌晨2点)
crontab -e
0 2 * * * /usr/bin/mysqldump -u root -p{{密码}} {{数据库名}} > /backup/db_$(date +\%Y\%m\%d).sql

---

## 🎯 文档规范

### 1. Markdown 格式

- 使用标准 Markdown 语法
- 代码块指定语言
- 表格对齐
- 链接有效

### 2. 文档结构

一级标题(文档标题)

二级标题(章节)

三级标题(小节)

四级标题(细节)


### 3. 代码示例

- 提供完整可运行的代码
- 添加必要的注释
- 使用占位符标记需要修改的部分

### 4. 图表使用

- 架构图使用 Mermaid
- 流程图使用 Mermaid
- ER 图使用文本描述

---

## 💡 使用技巧

### 1. 生成 API 文档

@doc-write 生成 API 文档:

  • 模块:用户管理
  • 功能:CRUD 操作
  • 权限:system:user

### 2. 生成 README

@doc-write 生成 README:

  • 项目:CodeStyle Search
  • 技术栈:Spring Boot + Vue 3
  • 特性:RAG 搜索、多租户

### 3. 生成数据库文档

@doc-write 生成数据库文档:

  • 表名:sys_user
  • 字段:id, username, nickname, password

### 4. 生成部署文档

@doc-write 生成部署文档:

  • 环境:生产环境
  • 服务器:CentOS 7
  • 组件:MySQL, Redis, Nginx

---

## 📚 参考资源

### ContiNew Admin 文档规范

1. **API 文档**
   - 使用 Swagger/OpenAPI 注解
   - 完整的请求/响应示例
   - 错误码说明

2. **项目文档**
   - README 包含快速开始
   - CHANGELOG 记录版本变更
   - CONTRIBUTING 说明贡献流程

3. **技术文档**
   - 架构图清晰
   - 技术选型有理由
   - 部署步骤详细

---

## 🔗 相关文档

- [CodeStyle 最佳实践](../../archive/v1.0.0/best-practices/CodeStyle最佳实践.md)
- [Markdown 语法指南](https://www.markdownguide.org/)
- [Mermaid 图表语法](https://mermaid.js.org/)

---

## 🔄 版本历史

- **v1.0.0** (2026-02-21): 初始版本,支持 4 种文档类型

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/document-generation-assistant-mrwakdf2/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/document-generation-assistant-mrwakdf2' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/document-generation-assistant-mrwakdf2/download' --output '.skill-downloads/document-generation-assistant-mrwakdf2/SKILL.md.part' && mv '.skill-downloads/document-generation-assistant-mrwakdf2/SKILL.md.part' '.skill-downloads/document-generation-assistant-mrwakdf2/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/document-generation-assistant-mrwakdf2/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires