Dropstone CLI

規則

為 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 啟動時,它會依此順序尋找規則檔案:

  1. 本機檔案:從目前目錄向上遍歷(AGENTS.mdCLAUDE.md
  2. 全域檔案:位於 ~/.config/dropstone/AGENTS.md
  3. Claude Code 檔案:位於 ~/.claude/CLAUDE.md(如果上述兩者皆不存在)

在每個類別中,第一個相符的檔案會勝出。例如,如果您同時有 AGENTS.mdCLAUDE.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 比手動指示更易於維護。

Ctrl+I