with one click
personal-project-runner
项目启动管理技能,支持Java Spring Boot和Vue项目的启动、重启、关闭操作,保持原有端口不变
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
项目启动管理技能,支持Java Spring Boot和Vue项目的启动、重启、关闭操作,保持原有端口不变
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
简洁风格技能,禁止废话,采用caveman式简短直接的表达方式
个人文档管理技能,管理变更记录、方案设计Spec文档、测试报告等,统一存放在docs目录下
方案调研技能,对方案设计、功能实现进行多方案比对分析,至少3个方案,建议5个左右的方案比对,包括业界标杆方案、大厂实现方案等
基于OpenAPI规范生成API文档,支持Swagger UI和ReDoc展示
提供后端单元测试指导和生成能力,支持JUnit 5、Mockito等框架
代码审查技能,提供代码质量检查和改进建议
| name | personal-project-runner |
| description | 项目启动管理技能,支持Java Spring Boot和Vue项目的启动、重启、关闭操作,保持原有端口不变 |
| trigger | 需要启动、重启或关闭项目时 |
| disable-when | 项目已停止且无需启动时 |
| category | personal |
| tags | ["runner","start","restart","stop","java","vue","spring","port"] |
项目启动管理技能,支持 Java Spring Boot 和 Vue 项目的启动、重启、关闭操作。自动检测项目类型,保持原有端口不变,支持后台运行和日志查看。
| 特征 | 说明 |
|---|---|
| 配置文件 | application.yml、application.properties |
| 构建工具 | Maven(pom.xml)、Gradle(build.gradle) |
| 默认端口 | 8080 |
| 启动命令 | mvn spring-boot:run、java -jar xxx.jar |
| 特征 | 说明 |
|---|---|
| 配置文件 | package.json、vue.config.js、vite.config.js |
| 构建工具 | npm、yarn、pnpm |
| 默认端口 | 8080(Vue CLI)、5173(Vite) |
| 启动命令 | npm run serve、npm run dev、pnpm dev |
检测项目类型 → 读取端口配置 → 检查端口占用 → 启动项目 → 验证启动成功
检测运行状态 → 若已运行则停止 → 等待进程退出 → 启动项目 → 提示"已重新启动"
检测运行状态 → 若已运行则停止 → 等待进程退出 → 提示"已关闭"
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | String | 是 | 操作类型:start/restart/stop/status |
| projectPath | String | 否 | 项目路径,默认当前目录 |
| projectType | String | 否 | 项目类型:java/vue,自动检测时留空 |
| port | Integer | 否 | 端口号,自动检测时留空 |
| mode | String | 否 | 运行模式:foreground/background,默认 background |
| buildTool | String | 否 | 构建工具:maven/gradle/npm/yarn/pnpm |
{
"action": "restart",
"projectType": "java",
"port": 8080,
"status": "success",
"message": "项目已重新启动,端口:8080",
"processId": 12345,
"logs": "/path/to/logs",
"timestamp": "2024-01-15T10:00:00Z"
}
| 状态码 | 说明 |
|---|---|
running | 项目正在运行 |
stopped | 项目已停止 |
starting | 项目启动中 |
stopping | 项目停止中 |
not_found | 未检测到项目类型 |
port_conflict | 端口冲突 |
build_failed | 构建失败 |
按优先级读取:
application.yml 中的 server.portapplication.properties 中的 server.port按优先级读取:
vue.config.js 中的 devServer.portvite.config.js 中的 server.portpackage.json scripts 中的端口参数# 按端口查找
lsof -i :8080 -t
# 按进程名查找
pgrep -f "spring-boot"
pgrep -f "node"
# 优雅停止(优先)
kill -TERM <pid>
# 强制停止(超时后)
kill -9 <pid>
# 自动检测项目类型和端口
skills-run start
# 指定项目路径
skills-run start --project-path /path/to/project
# 指定项目类型
skills-run start --project-type java
skills-run start --project-type vue
# 自动检测并重启
skills-run restart
# 指定项目路径和类型
skills-run restart --project-path /path/to/project --project-type java
# 自动检测并关闭
skills-run stop
# 指定端口关闭
skills-run stop --port 8080
# 查看当前目录项目状态
skills-run status
# 查看指定端口状态
skills-run status --port 8080
# 后台运行并输出日志
nohup mvn spring-boot:run > logs/console.log 2>&1 &
# 或使用 jar 包
nohup java -jar target/app.jar > logs/console.log 2>&1 &
# 后台运行
nohup npm run serve > logs/console.log 2>&1 &
# 或使用 pm2
pm2 start npm -- run serve
project-root/
├── logs/
│ ├── console.log # 控制台日志
│ ├── spring.log # Spring Boot 日志
│ └── error.log # 错误日志
# 实时查看日志
tail -f logs/console.log
# 查看最后100行
tail -n 100 logs/console.log
# 搜索错误
grep -i error logs/console.log
kill -TERM,超时后再强制停止无需额外配置,自动检测项目类型和端口。
在项目根目录创建 .runner.json 配置文件:
{
"projectType": "java",
"port": 8080,
"buildTool": "maven",
"startCommand": "mvn spring-boot:run",
"stopPattern": "spring-boot"
}
A: 先停止占用端口的进程,或修改项目配置文件中的端口号。本技能不会自动修改端口配置。
A: 检查进程是否存在,访问 http://localhost:port 确认服务响应。
A: 使用 skills-run stop 或手动 kill 进程。
A: 默认在项目根目录的 logs/console.log。
参考经验:启动/重启项目时,先识别并结束旧进程(按端口/进程名),再确认运行环境,最后启动项目。