Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
steelan9199 avatar

Backup Project

  • 3 installs
  • 9 repo stars
  • Updated August 4, 2026
  • steelan9199/wechat-publisher

Helps with ai & agent building tasks.

About

backup-project is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • backup-project
  • AI & Agent Building
  • AI-coding skill

Backup Project by the numbers

  • 3 all-time installs (skills.sh)
  • Ranked #13,677 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/steelan9199/wechat-publisher --skill backup-project

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3
repo stars9
Last updatedAugust 4, 2026
Repositorysteelan9199/wechat-publisher

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

通用 JS 项目代码备份

功能概述

自动备份 JS 项目的入口文件及其所有 require() 依赖,创建完整的项目快照。

核心特性

  • 自动发现入口文件:优先读取 package.json#main,其次检测 main.js / index.js / app.js
  • 自动发现项目根:通过 -d 参数指定,或向上查找 package.json
  • 递归嵌套检测:自动检测多层嵌套依赖(A→B→C→D),使用 BFS 算法
  • 自动编号管理:扫描已有备份文件夹,自动生成递增两位数编号
  • 智能命名:用户提供描述性名称,自动拼接编号前缀(如 "09第一次重构")
  • 循环依赖处理:正确处理 A→B→A 的循环依赖,不中断备份
  • 过滤 npm 包:只匹配相对路径 require("./xxx") / require("../xxx"),自动过滤 require("fs")

环境要求

  • Node.js: 14.x 或更高版本
  • 脚本位置: 本 skill 目录下的 backup.mjs

用法

node backup.mjs "备份名称"                       # 使用 cwd 自动发现项目
node backup.mjs "备份名称" -d <项目根目录>        # 指定项目根
node backup.mjs "备份名称" -e <入口文件>          # 指定入口文件
node backup.mjs                                 # 纯编号备份

触发条件

当用户出现以下任一情况时立即调用此 skill

1. "备份代码"、"备份项目"、"保存当前版本"、"备份代码 名字是xxx" 2. "在修改之前先备份"、"先存个档" 3. "创建快照"、"project-backup" 4. 准备进行重大代码重构前

AI 执行流程

步骤 1:确定项目根目录

获取当前会话的工作目录(项目根),供后续 -d 参数使用。

步骤 2:执行备份命令

使用 RunCommand 工具执行备份脚本,务必带 `-d` 参数指定项目根

# cwd 可以是任意目录;必须通过 -d 指定项目根
node "<skill目录>/backup.mjs" "备份名称" -d "<项目根目录绝对路径>"

关键参数:

  • blocking: true
  • command_type: short_running_process
  • requires_approval: false

示例:

node "C:\Users\Administrator\.trae-cn\skills\backup-project\backup.mjs" "第一次重构" -d "D:\script\work-sop\...\"

步骤 3:验证备份结果

用 LS 工具列出 project-backup/<备份名称>/ 目录,向用户展示备份成功。

脚本核心逻辑 (backup.mjs)

参数解析

-d / --dir     项目根目录(默认: 从 cwd 向上查找 package.json)
-e / --entry   入口文件名(默认: 自动检测)
第一个非选项参数 = 备份描述名称

入口文件检测优先级

1. -e 命令行指定的文件 2. package.jsonmain 字段 3. 按序检测 main.jsindex.jsapp.js

依赖检测

正则:/require\(["'](\.\.?\/[^"']+|[^"']+\.js)["']\)/g

  • 匹配 require("./xxx")require("../xxx") 以及 require("xxx.js") 裸文件名
  • 自动跳过 require("fs") / require("lodash") 等 npm 包(无后缀、无路径)
  • 使用 BFS 广度优先搜索,最大深度 10 层
  • 依赖文件保留原始相对路径结构到备份目录

编号规则

  • 扫描 project-backup/ 下所有子文件夹
  • 提取文件夹名前缀数字,取最大值 +1
  • 两位数补零(01, 02, ...)
  • 拼接格式:{编号}{用户名称},如 09第一次重构

故障排除

问题原因解决
入口文件不存在项目根不对-d 明确指定项目根
遗漏依赖文件使用了动态 require / ESM import脚本当前只支持静态 require()
备份目录已存在同名备份fs.mkdirSync recursive 模式不报错,文件会被覆盖
复制失败文件被锁定关闭打开该文件的编辑器

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.