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.ymlDockerfile*compose.yaml,docker-compose.ymlpackage.jsonpyproject.toml,requirements.txt,uv.lockgo.modCargo.tomlpom.xml,build.gradle*Procfile.env.example,.env.sampledeploy/,ops/,infra/,scripts/,k8s/,helm/
2. 识别最可能的运行方式¶
判断优先级:
- repo自带部署材料 最可信
如compose、helm chart、systemd unit、deploy脚本 - README中明确写明的开发/生产运行方式
- 构建文件推导出的默认方式
- 通用保底方式
- Python: virtualenv/uv + process manager/systemd
- Node: install + build + runtime command
- Go/Rust: build binary + systemd/container
- 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)