name: ruanzhu description: >- 当用户执行 /ruanzhu 命令或请求生成软著源代码文档时触发。提供软著源代码 DOCX 生成规范。 覆盖项目信息检测、语言扫描规则、页数控制、DOCX 格式规范等。
ruanzhu 技能 - 软著源代码DOCX生成
强制执行规则
必须执行以下命令,禁止任何其他操作:
cp ~/.cursor/templates/ruanzhu/generate_docx.py ./generate_docx.py && python3 generate_docx.py $ARGUMENTS && rm generate_docx.py
禁止事项
- 自行编写生成脚本
- 在项目中创建任何
.py文件 - 检测 python-docx 是否安装
- 创建 venv 或手动安装依赖
- 搜索项目中的文件
- 执行项目中已有的任何脚本
唯一允许的操作
执行上面的 bash 命令(一条命令,用 && 连接)
执行后状态
- 生成
docs/ruanzhu/{软件名称}{版本}-源代码.docx - 使用
--different时,生成{软件名称}{版本}-源代码-2.docx(编号递增) - 项目中不应有任何新增的 .py 文件
- 临时脚本
./generate_docx.py已被删除
参考信息(仅供了解,不要自行实现)
以下内容已由 generate_docx.py 脚本实现,不需要手动处理:
项目信息检测
按优先级读取项目名称和版本:
- README.md / CLAUDE.md:查找标题和版本信息
- package.json:
name+version - pom.xml:
artifactId+version - 用户输入
检测项目语言
| 检测文件 | 语言 |
|---|---|
pom.xml 或 build.gradle | Java |
package.json | JavaScript/TypeScript |
Cargo.toml | Rust |
Gemfile | Ruby |
go.mod | Go |
*.cpp 或 CMakeLists.txt | C++ |
requirements.txt 或 pyproject.toml | Python |
源代码扫描规则
Java: src/main/java/**/controller/、service/、entity/ 等,排除 *Test.java
TypeScript/Vue/React: src/api/、src/stores/、src/pages/ 等,排除 *.spec.ts、node_modules/
Go: cmd/、internal/、pkg/,排除 *_test.go、vendor/
Python: src/、app/、lib/,排除 test_*.py、__pycache__/
C++: src/、include/,排除 *_test.cpp、build/
Ruby: app/controllers/、app/models/,排除 *_spec.rb
Rust: src/,排除 tests/、target/
页数控制
- 固定页数模式(默认60页):每页约57行,按优先级扫描
- 自动模式(auto):≤60页输出全部,>60页输出前30+后30页
DOCX格式规范
页面 A4,边距上下2.5cm、左3.0cm、右2.5cm,字体宋体+Courier New 10pt,单倍行距。
错误处理
| 错误 | 处理 |
|---|---|
| 无法检测项目信息 | 提示用户输入 |
| 未检测到源代码 | 报错并列出支持的语言 |
| python-docx 未安装 | 自动 pip install 安装 |
| 代码量不足 | 警告并输出全部 |