Communitygithub.com

niksavis/basicly

一個編碼代理的基礎框架,交付工作流程與狀態,而不只是指令:將一個 YAML 目錄投影到每個代理的原生設定中,搭配具有工作目錄隔離的確定性循環、序列化合併佇列,以及在提交時強制執行的閘門。

basicly 是什麼?

basicly 是一個為 AI 編碼代理設計的基礎框架,提供了清晰且可預測的開發流程,超越傳統基於指令的設定。它的核心是使用單一 YAML 目錄來定義,並將其投影到每個代理的設定檔中,確保所有工具和代理之間的行為一致。該框架實現了一個確定性的工作循環,包含工作目錄隔離和序列化的合併佇列,這對於管理具有嚴格依賴關係的複雜多步驟任務非常重要。此外,閘門會在提交時間強制執行,確保如 Markdown 檢查和 Node 版本正確性等規則在程式碼進入版本控制之前就被遵守。basicly 主要針對使用如 Claude Code、Cursor 或 Codex 等代理工具的開發者,安裝在 Windows Subsystem for Linux (WSL) 環境中時,特別能解決因 Node 路徑不正確而導致 Git hooks 失敗的常見問題。通過將工作流程和狀態與指令一起交付,basicly 使開發工作流程更可靠,減少代理錯誤,並使團隊協作更順暢。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add niksavis/basicly

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Node

此儲存庫中的 Node 範圍狹窄但至關重要:markdownlint git hook 會執行 npx --no-install markdownlint-cli2,解析 package.json / package-lock.json 中鎖定的 markdownlint-cli2 開發依賴。如果錯誤的 node 在 PATH 上,該 hook 就會中斷並阻止提交。

WSL 非互動式 shell 陷阱(最麻煩的那個)

登入 shell 會載入你的設定檔,從而載入版本管理器 (nvm) 並將儲存庫的 node 放入 PATH。一個非互動式 shell —— 腳本、背景工作、由無頭代理啟動的 git hook —— 並不會載入該設定檔,因此 npx/node 可能會解析到透過 WSL 互操作到達的 Windows Node 安裝,而非 Linux 版本。markdownlint(以及任何基於 Node 的 hook)隨後會在錯誤的 node 下執行,或完全失敗,而且僅在腳本和背景工作中發生——當你在終端機中手動提交時永遠不會遇到。

修復:在從腳本或背景工作提交或推送之前,將儲存庫的 node 放入 PATH。確切的做法在 references/wsl-node-path.md 中。

npm 衛生

  • npm ci(不是 npm install)用於從 package-lock.json 進行可重現的安裝;將 lockfile 與任何依賴變更一起提交。
  • npx --no-install <tool> 運行鎖定的本地開發依賴,並拒絕從網路靜默獲取不同版本——請保留 --no-install。
  • 保持 Node 足跡最小:此儲存庫故意只提供一個開發依賴。添加依賴是一項需要確認的變更,而不是反射動作。

相關技能