步骤 1: 理解用户意图
首先判断用户输入的类型:
```javascript
// 检查用户输入类型
if (用户输入包含 "软著" || "著作权") {
生成类型 = "全部材料"
} else if (用户输入包含 "软件说明书") {
生成类型 = "说明书"
} else if (用户输入包含 "源代码" || "源码") {
生成类型 = "源代码文档"
} else if (用户输入是关键词) {
先搜索相关内容
询问用户是否生成软著材料
}
```
步骤 2: 项目路径确认
```javascript
// 默认使用当前目录
let projectPath = process.cwd()
// 询问用户确认路径
await confirmProjectPath(projectPath)
```
步骤 3: 使用CLI生成软著材料
推荐使用CLI工具生成软著材料:
```bash
# 方式1: 使用关键词触发index.js(交互式)
cd ~/.claude/skills/softcopyright
node scripts/index.js 软著
# 方式2: 使用cli.js直接生成(推荐)
node scripts/cli.js generate --project <项目路径>
# 方式3: 使用快捷命令(最佳体验)
~/.claude/skills/softcopyright/softcopyright-generate --project . --auto-pdf
# 方式4: 技能系统自动调用
用户输入"帮我生成软著" → 自动执行: softcopyright-generate --project . --auto-pdf
```
该工具会:
- 自动扫描项目源码
- 识别源代码文件类型
- 分析项目结构和技术栈
- 生成HTML格式的软件说明书和源代码文档
- 询问用户是否自动在浏览器中打开并打印为PDF
步骤 4: 生成选项
用户可以选择:
- 生成全部材料(软件说明书 + 源代码文档)
- 仅生成软件说明书
- 仅生成源代码文档
- 仅查看项目统计
步骤 5: 输出位置
默认输出路径: <项目目录>/softcopyright-output/
生成的文件:
软件说明书_<项目名>_<时间戳>.html源代码文档_<项目名>_<时间戳>.html
步骤 6: 导出PDF
有两种方式将HTML转换为PDF:
方式1: 自动转换(推荐)
```bash
# 添加--auto-pdf选项
node scripts/cli.js generate --project <项目路径> --auto-pdf
```
- 自动在浏览器中打开HTML
- 3秒后自动弹出打印对话框
- 选择"保存为PDF"即可
方式2: 手动转换
- 在浏览器中打开生成的HTML文件
- 按 Cmd+P (macOS) 或 Ctrl+P (Windows/Linux)
- 在打印设置中:
- 展开"更多设置"
- 勾选"页眉和页脚"
- 选择"保存为PDF"
- 保存PDF文件