Fankex

输入关键词搜索已发布文档。

devhunt

CLI 参考

DevHunt 的三个命令——scan、report、narrate——每个 flag 都经过固定源码验证。

scan

scan LOGIN 收集令牌可见的 GitHub 输入,写入 out/LOGIN/raw/。GraphQL 查询不会强制仅公开可见,所以结果可能包含该令牌有权访问的私有或内部数据。--token VALUE 提供 token,--window 接受 quarterhalfyear3yall--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 接受 zhen--style 接受 professionalcasualbrief

解析器行为

解析器会检查 login 长度和路径字符,校验枚举的 window、language、style 值,对重复或未知 flag 发出警告,并使用最后一次重复的值。这些检查能减少格式错误的输入,但不能让输出的解释自动变得权威。

入口与失败恢复

在仓库根目录运行 bun ./bin/devhunt.ts COMMAND LOGINbun devhunt 在这个仓库里会解析到 package script;两种写法都不需要全局安装。不带子命令调用会显示用法并以 1 退出。

  • Bun 模块或依赖缺失 — 在源码根目录运行 bun install --frozen-lockfile
  • GitHub CLI 缺失或身份验证失败 — 检查 gh --versiongh auth status,核对环境变量优先级,不要打印 token。
  • 提示没有 raw 数据 — 确认 LOGIN 和工作目录一致。缺失的 JSONL 会被读成空数组,所以报告跑完不等于扫描有效。
  • JSON 解析或图表输出失败 — 检查本地 JSONL、依赖和写入权限,再跑一次 report;之前可能已经留下了部分输出。
  • narrate 无法读取 profile — 先运行 report,检查 out/LOGIN/profile.json 是否存在。

--tz 会覆盖报告的时间计算;时区格式被接受不代表推断地点就是对的。无效的枚举选项会直接失败。未知 flag 只会警告,所以要看警告信息,不要以为拼错的参数已经生效了。