Skip to main content

software-copyright

自动生成计算机软件著作权申请资料

Source facts

Repository
raidenfc/my-skills
Last source activity
February 25, 2026 at 07:03
Detected SKILL.md language
Chinese
Stars
7
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
9 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
software-copyright
description
自动生成计算机软件著作权申请资料
# 软著资料生成 Skill ## 概述 此 Skill 用于自动分析项目代码和文档,生成计算机软件著作权申请所需的资料。 **工作模式**:采用渐进式生成,分为两大阶段: 1. **规划阶段**:分析项目并生成《软著规划书》,用户确认后进入执行阶段 2. **执行阶段**:基于规划书逐步生成三类资料文档 **最终产物**: 1. 软著主文档 2. 代码文档(60 页) 3. 使用说明书 --- ## 使用方式 当用户提到需要生成软件著作权申请材料、申请资料或类似请求时,调用此 Skill。 ### 工具使用策略 本 Skill 使用以下工具完成各项操作(优先使用原生工具,不可用时 fallback 到 shell): | 操作 | 首选工具 | Fallback | |------|----------|----------| | 列出目录 | `list_dir` | `ls -la` / `find` | | 查找文件 | `find_by_name` / `grep_search` | `rg --files` / `find` | | 读取文件 | `view_file` | `cat` | | 写入文件 | `write_to_file` | shell 重定向 | | 执行命令 | `run_command` | — | | 通知用户 | `notify_user` | — | --- ## 执行步骤 ### 第一步:收集用户基本信息 **立即询问用户以下必填信息**,不要跳过此步骤: ``` 请提供以下软著申请信息: 1. 软件全称(必填): - 规则:必须以“软件”、“APP”、“系统”、“平台”结尾(小程序可例外)。 - 注意:中英文之间**不能有空格**。 示例:享赋臻品商城系统 2. 编制单位名称(必填): 示例:某某科技有限公司 3. 软件版本号(必填): - 规则:格式需规范,推荐格式:`V1.0` 或 `1.0`。 示例:V1.0 4. 开发完成日期(必填,格式:YYYY年MM月): 示例:2024年6月 5. 开发方式(必填,请选择): - 独立开发 - 合作开发 - 委托开发 6. 面向行业/领域(选填): 示例:零售商场、酒店预订、餐饮服务、电器销售 (如不提供,我将根据项目分析推断) 7. 交付目录(选填): 默认:项目根目录/软著资料/ (如需自定义请提供绝对路径) ``` **重要**:在用户回答完这些问题之前,不要进行任何项目分析。 --- ### 第二步:分析项目结构 收集用户信息后,开始分析项目: #### 2.1 确定项目根目录 - 查看用户当前工作区路径 - 确认项目根目录位置 **Monorepo 检测**:检查项目根目录是否存在 `pnpm-workspace.yaml`、`lerna.json`、或根目录下多个 `package.json`(如 `apps/`、`packages/` 子目录各有独立 `package.json`)。若为 Monorepo 项目,询问用户选择: - a) 指定某个子项目(如 `apps/web`)作为扫描目标 - b) 合并扫描所有子项目 #### 2.2 扫描项目文件结构 使用 `list_dir` / `find_by_name` 扫描(不可用时 fallback 到 `rg --files`、`find`): - 主要源代码目录:`src/`, `app/`, `lib/`, `server/`, `mobile/`, `admin/` 等 - 配置文件:`package.json`, `composer.json`, `go.mod`, `pom.xml`, `requirements.txt` 等 - 文档目录:`.doc/`, `docs/`, `wiki/`, `README.md`, `contexts/` 等 #### 2.3 识别技术栈 根据文件特征判断: - **前端**:React, Vue, Angular, Next.js, Nuxt.js 等 - **后端**:Node.js, PHP, Go, Java, Python 等 - **小程序**:UniApp, 微信小程序原生等 - **数据库**:MySQL, PostgreSQL, MongoDB 等 - **其他**:Nginx, Redis, Docker 等 #### 2.4 统计代码行数(有效行数) 使用 shell 命令执行(排除依赖库且去除空行): ```bash find . -type f \( \ -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" \ -o -name "*.vue" -o -name "*.go" -o -name "*.php" -o -name "*.java" -o -name "*.py" \ -o -name "*.css" -o -name "*.scss" -o -name "*.less" \ -o -name "*.html" -o -name "*.json" \ -o -name "*.wxml" -o -name "*.wxss" -o -name "*.wxs" \ -o -name "*.swift" -o -name "*.kt" -o -name "*.dart" \ -o -name "*.sql" -o -name "*.sh" -o -name "*.yaml" -o -name "*.yml" \ \) \ -not -path "*/node_modules/*" \ -not -path "*/dist/*" \ -not -path "*/vendor/*" \ -not -path "*/.git/*" \ -not -path "*/.venv/*" \ -not -path "*/__pycache__/*" \ -not -path "*/target/*" \ -not -path "*/build/*" \ -not -path "*/.next/*" \ -not -path "*/.nuxt/*" \ -not -path "*/miniprogram_npm/*" \ -not -path "*/.taro/*" \ -not -path "*/coverage/*" \ -not -path "*/.cache/*" \ -not -path "*/public/*" \ -not -path "*/migrations/*" \ -exec grep -v "^\s*$" {} + 2>/dev/null | wc -l ``` > [!TIP] > 上述扩展名列表覆盖了大部分常见技术栈。如有特殊文件类型(如 `.rs`, `.rb`, `.lua` 等),可根据项目实际情况增删。 **注意**:此命令统计的是**去除空行后的有效代码行数**。 将此结果记录为 `Effective_Line_Count`。 --- ### 第三步:读取项目文档 #### 3.1 优先读取以下文档 1. `contexts/context.md` - 项目核心上下文 2. `README.md` - 项目概述 3. `.doc/repowiki/系统概述.md` - 系统概述 4. `.doc/repowiki/功能模块详解/` - 功能模块文档 5. `docs/` 目录下的其他文档 #### 3.2 提取关键信息 - 项目背景和开发目的 - 主要功能模块列表 - 技术特点和创新点 - 系统架构说明 #### 3.3 深度功能挖掘(重点执行) 普通文档分析容易遗漏后台和辅助功能。**必须**执行以下深度扫描,找出“不容易发现的功能”: 1. **管理端/后台隐形功能**: - **扫描关键词**:`admin`, `manage`, `system`, `config`, `auth`, `role`, `log`. - **查找目标**: - **权限体系**:角色管理、用户授权、菜单配置、部门管理。 - **系统运维**:操作日志、登录日志、异常监控、系统参数设置。 - **基础配置**:数据字典、公告发布、版本管理、广告位管理。 2. **从依赖库推断技术功能**: - 检查 `package.json` / `pom.xml` / `go.mod` 等依赖文件。 - `redis` -> 缓存加速 / 高并发处理 - `jwt` / `security` -> 多重身份认证 / 接口安全防护 - `oss` / `cos` -> 海量文件云存储 - `schedule` / `cron` -> 自动化定时任务 - `websocket` / `socket` -> 实时消息推送 - `excel` / `csv` -> 数据批量导入导出 3. **用户端辅助功能**: - **个人中心**:修改密码、绑定手机、实名认证、地址管理。 - **互动功能**:收藏/关注、评论/点赞、分享转发、积分足迹。 - **服务支持**:在线客服、帮助中心、意见反馈、关于我们。 --- ### 第四步:生成软著规划书(关键中间产物) 基于前三步收集的信息,生成《软著规划书.md》并保存到输出目录。 #### 4.1 读取规划书模板 读取模板文件: `{SKILL_DIR}/templates/planning_doc_template.md` #### 4.2 生成代码文件索引(核心逻辑) 1. **扫描与清洗统计** - 遍历源码文件,对每个文件执行 `grep -v "^\s*$"` 统计**有效行数**。 - **注意**:必须使用**清洗后**的行数,否则生成的文档行数将不足。 2. **文件排序与筛选** - 按照 **高权重 → 普通权重 → 低权重** 的顺序排列文件。权重定义如下: | 权重 | 文件类型 | 说明 | |------|----------|------| | 高优 | `main.*`, `app.*`, `index.*`, `router.*`, `App.vue`, `app.json` | 入口文件和路由配置 | | 普通 | `pages/`, `views/`, `components/`, `modules/`, `screens/` | 页面和组件 | | 低优 | `utils/`, `helpers/`, `config/`, `types/`, `constants/`, `store/` | 工具、配置、类型定义 | - **前 30 页选择**:从头部开始累加,直到累计行数 ≥ 1590 行(`FRONT_LINES`)。 - **后 30 页选择**:从尾部倒推,直到累计行数 ≥ 1590 行(`BACK_LINES`)。 3. **数据准备** - 准备 file_list 数据,包含:文件路径、单文件行数、当前累计行数。 #### 4.3 生成功能模块清单(核心关键) 分析代码提取功能模块。**必须严格区分“用户端”与“管理端”的代码来源,严禁混用。** **步骤 0:前端路由分析与去重(必须执行)** 在提取功能之前,**必须先分析前端路由文件**,以"页面"为维度进行归纳,避免遗漏或机械式重复。 1. **定位路由文件**: - **Vue/React Web**: 查找 `src/router/index.js`, `src/routes.ts`, `src/app-routing.module.ts` 或类似文件。 - **Mini-program**: 查找 `app.json`, `pages.json`。 - **Next.js/Nuxt.js**: 扫描 `pages/` 或 `app/` 目录下的文件结构。 - **纯后端项目**(无前端 UI 文件时),按以下方式定位路由等效文件: - **Django**: `urls.py` 路由定义 - **Flask**: `@app.route` 装饰器扫描 - **Spring Boot**: `@RequestMapping` / `@GetMapping` 注解扫描 - **Go Gin/Echo**: `router.GET/POST` 注册 - **Express/Koa**: `router.get/post` 或 `app.get/post` 注册 - **Laravel**: `routes/web.php`, `routes/api.php` > [!NOTE] > **纯后端项目特殊处理**:若项目完全没有前端(无 `.vue`, `.jsx`, `.wxml`, `.html` 等 UI 文件),使用说明书应改为"接口使用说明"模式,按 API Endpoint 分组组织功能描述,每个 Endpoint 描述其请求方式、参数、响应及使用场景。 1. **智能筛选与去重**: - **读取组件内容**:进入路由对应的组件文件(如 `.vue`, `.jsx`),分析其 UI 和业务逻辑。 - **去重逻辑**: - **合并同类项**:如果发现多个路由指向相似的页面(如 `detail/:id`),只归纳为一个"XX详情页"。 - **排除无效页面**:忽略纯静态的协议页、过渡页或无实质功能的空白页。 - **内容审查**:只有包含**用户交互**(表单、按钮)或**动态数据展示**的页面才生成模块。 2. **用户端(User Side)**: - **核心原则**:必须优先读取**前端/客户端的 UI 代码**。只有在完全没有前端代码时(如纯后端渲染),才允许读取后端 Controller。 - **扫描优先级**(按顺序查找): 1. **小程序/App**: `.wxml`, `.axml`, `.vue` (UniApp), `.dart` (Flutter), `.swift`, `.kt` 2. **Web 前端**: `.vue`, `.jsx`, `.tsx`, `.html` 3. **模板引擎**: `.blade.php`, `.jsp`, `.ejs` (仅在无独立前端时使用) - **禁止行为**:禁止使用 pure Backend Logic(如 `UserLogic.php`, `OrderService.java`)作为用户端功能的“对应代码路径”,除非该文件包含了 HTML 输出。 3. **管理端(Admin Side)**: - **路由/菜单分析(前端优先)**: - **首选**:寻找 **管理后台的前端路由**(如 `router/admin.js`, `src/admin/routes.ts`)或 **菜单配置文件**(如 `menuConfig.js`, `layout/sider.tsx`)。 - **次选**(仅当无独立前端时):分析 MVC 框架的 Admin 路由(如 `routes/admin.php`)和 Controller 结构。 - **页面归纳**: - **核心原则**:必须按**前端页面**视角归纳。例如"商品列表页"和"商品编辑页"是两个页面,而不是简单的"商品管理"一个大模块。 - 将前端路由中的 `path` 映射为一个功能页面。 - 优先寻找 `admin`, `manager`, `backend` 目录下的界面代码或 View 文件。 4. **提取要求(严格执行)**: - 对于每个识别出的页面/模块,**必须**提取以下 5 个字段: 1. **页面名称**:从路由 path 或 title 提取(如 `首页`)。 2. **功能点**:页面内的主要功能列表(如 `轮播图展示`, `推荐列表`)。 3. **复杂度**:简单/中等/复杂。 4. **代码路径**:对应的组件文件路径。 5. **主要操作点**:基于 UI 元素的交互描述(必须包含动词)。例如:“点击‘立即购买’ -> 弹出规格选择 -> 确认支付”。 - **数量要求(尽可能全面)**: - **不要只提取最少的几个**,而是尽可能覆盖路由文件中定义的业务页面。 - **用户端**:建议提取 **10~20 个** 模块(覆盖首页、分类、购物车、个人中心、订单、设置等)。 - **管理端**:建议提取 **5~10 个** 模块(覆盖控制台、商品、订单、用户、营销、财务、设置等)。 #### 4.4 写入规划书 将收集的数据填充到模板中,写入 `{输出目录}/软著规划书.md`。 **关键规则**: - **严禁修改表格表头**:必须保留模板中的 6 列结构(页面名称 | 功能点 | 复杂度 | 代码路径 | 主要操作点)。 - **请勿重写表格**:请直接替换模板中的 `{Page_Name1}` 等占位符,或在占位符位置循环插入新行。 - **未识别到的字段**:如果某个字段为空,请填写 "无" 或 "N/A",不要删除列。 #### 4.5 请求用户确认 **重要**:生成规划书后,**必须**通知用户审阅并请求确认。 通知内容应包含: 1. 规划书已生成及其路径。 2. 核心数据摘要: - 预计总页数:{Total_Pages} - 用户端模块数:{User_Modules} - 管理端模块数:{Admin_Modules} 3. 询问用户是否同意按此规划生成最终文档。
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub