输入关键词搜索已发布文档。
devhunt
CLI 参考
DevHunt 的三个命令——scan、report、narrate——每个 flag 都经过固定源码验证。
scan
scan LOGIN 收集令牌可见的 GitHub 输入,写入 out/LOGIN/raw/。GraphQL 查询不会强制仅公开可见,所以结果可能包含该令牌有权访问的私有或内部数据。--token VALUE 提供 token,--window 接受 quarter、half、year、3y 或 all,--yes 或 -y 跳过交互确认。
入口在没有 --token 时还会检查 GITHUB_TOKEN。底层 GitHub 客户端可以继续回退到 GH_TOKEN。
report
report LOGIN 读取本地 raw 目录,把派生 profile、Top 仓库文件和图表写入 out/LOGIN/。--tz VALUE 接受 IANA 风格时区或数字偏移,用于基于时间的摘要。
narrate
narrate LOGIN 读取 out/LOGIN/profile.json。--lang 接受 zh 或 en。--style 接受 professional、casual 或 brief。
解析器行为
解析器会检查 login 长度和路径字符,校验枚举的 window、language、style 值,对重复或未知 flag 发出警告,并使用最后一次重复的值。这些检查能减少格式错误的输入,但不能让输出的解释自动变得权威。
入口与失败恢复
在仓库根目录运行 bun ./bin/devhunt.ts COMMAND LOGIN。bun devhunt 在这个仓库里会解析到 package script;两种写法都不需要全局安装。不带子命令调用会显示用法并以 1 退出。
- Bun 模块或依赖缺失 — 在源码根目录运行
bun install --frozen-lockfile。 - GitHub CLI 缺失或身份验证失败 — 检查
gh --version和gh auth status,核对环境变量优先级,不要打印 token。 - 提示没有 raw 数据 — 确认 LOGIN 和工作目录一致。缺失的 JSONL 会被读成空数组,所以报告跑完不等于扫描有效。
- JSON 解析或图表输出失败 — 检查本地 JSONL、依赖和写入权限,再跑一次 report;之前可能已经留下了部分输出。
- narrate 无法读取 profile — 先运行 report,检查
out/LOGIN/profile.json是否存在。
--tz 会覆盖报告的时间计算;时区格式被接受不代表推断地点就是对的。无效的枚举选项会直接失败。未知 flag 只会警告,所以要看警告信息,不要以为拼错的参数已经生效了。