Dropstone Docs

規則

為 dropstone 設定自訂指示。

您可以透過建立 AGENTS.md 檔案來為 dropstone 提供自訂指示。這類似於 Cursor 的規則。它包含將被納入 LLM 上下文的指示,以針對您的特定專案自訂其行為。


初始化

若要建立新的 AGENTS.md 檔案,您可以在 dropstone 中執行 /init 命令。

提示:

將您專案的 AGENTS.md 檔案提交到 Git,以便您的團隊其他成員採用相同的規則。

/init 會掃描您儲存庫中的重要檔案,在程式碼庫無法回答時可能會提出幾個有針對性的問題,然後使用簡潔的專案特定指導建立或更新 AGENTS.md

它專注於未來代理工作階段最可能需要的事項:

  • 建置、lint 和測試命令
  • 命令順序和重點驗證步驟(如果重要的話)
  • 從檔案名稱單獨無法明顯看出的架構和儲存庫結構
  • 專案特定的慣例、設定怪癖和操作陷阱
  • 對現有指示來源(如 Cursor 或 Copilot 規則)的參考

如果您已經有 AGENTS.md/init 將改進它,而不是盲目地替換它。


範例

您也可以手動建立此檔案。以下是您可以放入 AGENTS.md 檔案的一些內容範例。

# SST v3 Monorepo Project

This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for package management.

## Project Structure

- `packages/` - Contains all workspace packages (functions, core, web, etc.)
- `infra/` - Infrastructure definitions split by service (storage.ts, api.ts, web.ts)
- `sst.config.ts` - Main SST configuration with dynamic imports

## Code Standards

- Use TypeScript with strict mode enabled
- Shared code goes in `packages/core/` with proper exports configuration
- Functions go in `packages/functions/`
- Infrastructure should be split into logical files in `infra/`

## Monorepo Conventions

- Import shared modules using workspace names: `@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 Project Rules

## External File Loading

CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.

Instructions:

- Do NOT preemptively load all references - use lazy loading based on actual need
- When loaded, treat content as mandatory instructions that override defaults
- Follow references recursively when needed

## Development Guidelines

For TypeScript code style and best practices: @docs/typescript-guidelines.md
For React component architecture and hooks patterns: @docs/react-patterns.md
For REST API design and error handling: @docs/api-standards.md
For testing strategies and coverage requirements: @test/testing-guidelines.md

## General Guidelines

Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.

此方法允許您:

  • 建立模組化、可重複使用的規則檔案
  • 透過符號連結或 git 子模組在專案間共享規則
  • 保持 AGENTS.md 簡潔,同時參考詳細指南
  • 確保 dropstone 僅在特定任務需要時載入檔案

提示:

對於 monorepo 或具有共享標準的專案,使用 dropstone.json 搭配 glob 模式(如 packages/*/AGENTS.md)比手動指示更易於維護。

Ctrl+I