輸入關鍵字搜尋已發布文件。
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 只會警告,所以要看警告訊息,不要以為拼錯的參數已經生效了。