Skip to content

repo-runtime-discovery

Pack: deploy

读取本地或GitHub repo做部署前识别:技术栈、build/test/run入口、Docker/compose/systemd/k8s信号、配置与密钥需求、依赖(DB/Redis/MQ/存储)、health端点与端口,并产出deployment brief与候选部署方式。Trigger for“先读repo再部署”/“不确定怎么启动上线”/runtime inference requests.

Compatibility: Requires git and Python 3.11+; uv recommended for scripts. Helpful for local repos and GitHub repositories.


目标

这个技能负责回答一个问题:

“这个repo到底该怎么被部署和运行?”

它不直接做高风险部署,而是先把repo的运行模型讲清楚。

何时使用

-用户要求先读repo /看GitHub项目 -用户不知道如何构建、启动、部署 -需要先判断适合Docker、compose、systemd还是k8s -需要生成部署简报 -需要盘点运行依赖、环境变量和阻塞项

首选做法

1. 先收集顶层信号

优先检查:

  • README*
  • Makefile, Taskfile.yml
  • Dockerfile*
  • compose.yaml, docker-compose.yml
  • package.json
  • pyproject.toml, requirements.txt, uv.lock
  • go.mod
  • Cargo.toml
  • pom.xml, build.gradle*
  • Procfile
  • .env.example, .env.sample
  • deploy/, ops/, infra/, scripts/, k8s/, helm/

2. 识别最可能的运行方式

判断优先级:

  1. repo自带部署材料 最可信
    如compose、helm chart、systemd unit、deploy脚本
  2. README中明确写明的开发/生产运行方式
  3. 构建文件推导出的默认方式
  4. 通用保底方式
  5. Python: virtualenv/uv + process manager/systemd
  6. Node: install + build + runtime command
  7. Go/Rust: build binary + systemd/container
  8. Java: jar/service/container

3. 识别环境依赖与状态依赖

特别留意:

-数据库连接串 - Redis、MQ -外部API key - S3/OSS/MinIO -域名/TLS证书 -挂载目录、缓存目录、上传目录 -是否需要迁移脚本 -是否包含worker/cron/scheduler/websocket

4. 提取构建、测试、启动线索

尽量找到:

  • build command
  • test command
  • run command
  • health endpoint
  • default port
  • config file path
  • log path/stdout logging behavior

推荐脚本

先运行:

```bash uv run scripts/repo_inventory.py --root . --output -

... (52 more lines in full SKILL.md)