規則
為 dropstone 設定自訂指示。
您可以透過建立 AGENTS.md 檔案,為 dropstone 提供自訂指示。這類似於 Cursor 的規則。它包含將納入 LLM 上下文的指示,以針對您的特定專案自訂其行為。
初始化
若要建立新的 AGENTS.md 檔案,您可以在 dropstone 中執行 /init 指令。
Tip
將您專案的 AGENTS.md 檔案提交到 Git,以便團隊其他成員採用相同的規則。
/init 會掃描您儲存庫中的重要檔案,當程式碼庫無法回答問題時,可能會詢問幾個針對性的問題,然後建立或更新 AGENTS.md,其中包含簡潔的專案特定指引。
它專注於未來代理程式工作階段最可能需要的事項:
- 建置、lint 和測試指令
- 指令順序,以及在重要時的聚焦驗證步驟
- 無法僅從檔案名稱看出來的架構和儲存庫結構
- 專案特定的慣例、設定特殊情況和操作陷阱
- 對現有指示來源(如 Cursor 或 Copilot 規則)的參考
如果您已經有 AGENTS.md,/init 會就地改進它,而不是盲目地取代它。
範例
您也可以手動建立此檔案。以下是一些可以放入 AGENTS.md 檔案的內容範例。
# SST v3 Monorepo 專案
這是一個使用 TypeScript 的 SST v3 monorepo。專案使用 bun workspaces 進行套件管理。
## 專案結構
- `packages/` - 包含所有 workspace 套件(functions、core、web 等)
- `infra/` - 依服務拆分的基礎架構定義(storage.ts、api.ts、web.ts)
- `sst.config.ts` - 具有動態匯入的主要 SST 設定
## 程式碼標準
- 使用 TypeScript 並啟用嚴格模式
- 共用程式碼放在 `packages/core/`,並設定適當的匯出
- Functions 放在 `packages/functions/`
- 基礎架構應拆分為 `infra/` 中的邏輯檔案
## Monorepo 慣例
- 使用 workspace 名稱匯入共用模組:`@my-app/core/example`
我們在此新增專案特定的指示,這將在您的團隊之間共用。
類型
dropstone 也支援從多個位置讀取 AGENTS.md 檔案。這有不同的用途。
專案
在您的專案根目錄放置 AGENTS.md,以設定專案特定的規則。這些規則僅在您於此目錄或其子目錄中工作時適用。
全域
您也可以在 ~/.config/dropstone/AGENTS.md 檔案中設定全域規則。這會套用於所有 dropstone 工作階段。
由於這不會提交到 Git 或與您的團隊共用,我們建議使用此檔案來指定 LLM 應遵循的任何個人規則。
Claude Code 相容性
對於從 Claude Code 遷移的使用者,Dropstone 會讀取 Claude Code 的檔案慣例作為後備:
- 專案規則:您專案目錄中的
CLAUDE.md(如果沒有AGENTS.md則使用) - 全域規則:
~/.claude/CLAUDE.md(如果沒有~/.config/dropstone/AGENTS.md則使用) - 技能:
~/.claude/skills/(詳見 技能)
若要停止 Dropstone 讀取 Claude Code 位置,請移除或重新命名這些檔案(或將等效內容提交到 AGENTS.md,以便專案優先)。
優先順序
當 Dropstone 啟動時,它會依此順序尋找規則檔案:
- 本機檔案:從目前目錄向上遍歷(
AGENTS.md、CLAUDE.md) - 全域檔案:位於
~/.config/dropstone/AGENTS.md - Claude Code 檔案:位於
~/.claude/CLAUDE.md(如果上述兩者皆不存在)
在每個類別中,第一個相符的檔案會勝出。例如,如果您同時有 AGENTS.md 和 CLAUDE.md,則只會使用 AGENTS.md。同樣地,~/.config/dropstone/AGENTS.md 優先於 ~/.claude/CLAUDE.md。
自訂指示
您可以在 dropstone.json 或全域的 ~/.config/dropstone/dropstone.json 中指定自訂指示檔案。這可讓您和您的團隊重複使用現有規則,而不必將它們複製到 AGENTS.md。
範例:
{
"$schema": "https://dropstone.io/schema/config.json",
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}
您也可以使用遠端 URL 從網路載入指示。
{
"$schema": "https://dropstone.io/schema/config.json",
"instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}
遠端指示會以 5 秒逾時擷取。
所有指示檔案會與您的 AGENTS.md 檔案合併。
參照外部檔案
雖然 dropstone 不會自動解析 AGENTS.md 中的檔案參照,但您可以用兩種方式達到類似的功能:
使用 dropstone.json
建議的方法是使用 dropstone.json 中的 instructions 欄位:
{
"$schema": "https://dropstone.io/schema/config.json",
"instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
}
在 AGENTS.md 中手動指示
您可以透過在 AGENTS.md 中提供明確指示,教導 dropstone 讀取外部檔案。以下是一個實用範例:
# TypeScript 專案規則
## 外部檔案載入
重要:當您遇到檔案參照(例如 @rules/general.md)時,請使用您的 Read 工具,在需要時才載入。它們與目前處理的特定任務相關。
指示:
- 不要預先載入所有參照 - 根據實際需求使用延遲載入
- 載入後,將內容視為強制指示,並覆寫預設值
- 必要時遞迴遵循參照
## 開發指南
如需 TypeScript 程式碼風格和最佳做法:@docs/typescript-guidelines.md
如需 React 元件架構和 hooks 模式:@docs/react-patterns.md
如需 REST API 設計和錯誤處理:@docs/api-standards.md
如需測試策略和涵蓋率需求:@test/testing-guidelines.md
## 一般指南
請立即閱讀下列檔案,因為它與所有工作流程相關:@rules/general-guidelines.md。
這種方法可讓您:
- 建立模組化、可重複使用的規則檔案
- 透過符號連結或 git submodules 在專案之間共用規則
- 保持 AGENTS.md 簡潔,同時參照詳細指南
- 確保 dropstone 僅在特定任務需要時載入檔案
Tip
對於 monorepo 或具有共用標準的專案,使用帶有 glob 模式(如 packages/*/AGENTS.md)的 dropstone.json 比手動指示更易於維護。