最近做了一个小工具:repo-onboard。
它的目标很简单:进入一个陌生仓库后,自动生成一份实用的 ONBOARDING.md,帮助新人快速知道项目怎么启动、有哪些常用命令、需要哪些环境变量、应该先看哪些文件。
GitHub:github.com/hyjcxy/repo...
为什么做这个
很多项目其实已经包含了新人需要的信息,但这些信息通常散落在不同地方:
README.md里有一部分说明package.json里有启动和测试脚本.env.example里有环境变量docker-compose.yml里有本地依赖服务- Java 项目里可能还要看
pom.xml
新人接手项目时,经常要自己把这些线索串起来。这个过程不难,但很浪费时间。
所以我想做一个很小的 CLI,把这些仓库里的"入门线索"收集起来,生成一份可以直接提交到仓库里的入门文档。
它现在能做什么
目前的 MVP 支持:
- 识别 Node.js、Java Maven、Docker 项目
- 读取
package.jsonscripts - 从
.env.example提取环境变量名称 - 生成顶层目录结构概览
- 输出
ONBOARDING.md - 支持
--dry-run预览 - 支持
--output docs/ONBOARDING.md自定义输出路径
示例命令:
bash
node src/cli.js /path/to/repo
node src/cli.js /path/to/repo --dry-run
node src/cli.js /path/to/repo --output docs/ONBOARDING.md
生成内容大概是这样:
md
# sample-app Onboarding
## Project Snapshot
- Detected type: Node.js, Docker
## Quick Start
1. Install dependencies with npm install.
2. Copy .env.example to .env if the file exists.
3. Run the development or test command listed below.
## Common Commands
- dev: vite
- test: node --test
## Environment Variables
- PORT
- API_KEY
技术实现
为了让工具足够轻,第一版没有接 AI,也没有引入第三方依赖。
核心逻辑就是三块:
- scanner:扫描仓库里的关键文件
- markdown:把扫描结果渲染成入门文档
- cli:处理参数、写文件或 dry-run 输出
测试用的是 Node.js 内置的 node:test,目前覆盖了 CLI、扫描器和 Markdown 生成。
后续计划
接下来可能会加:
- Python / Go / Rust / Gradle 项目识别
--check模式,用在 CI 里检查入门文档是否过期- 发布到 npm,支持
npx repo-onboard - 可选的
--ai,自动总结模块职责
如果你也经常接手陌生仓库,或者需要给项目补新人入门文档,可以试试看。
GitHub:github.com/hyjcxy/repo...