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 Project

这是一个使用 TypeScript 的 SST v3 monorepo。项目使用 bun workspaces 进行包管理。

## 项目结构

- `packages/` - 包含所有工作区包(functions、core、web 等)
- `infra/` - 按服务拆分的基础设施定义(storage.ts、api.ts、web.ts)
- `sst.config.ts` - 使用动态导入的主 SST 配置

## 代码标准

- 使用启用严格模式的 TypeScript
- 共享代码放在 `packages/core/` 中,并配置正确的导出
- 函数放在 `packages/functions/`- 基础设施应在 `infra/` 中拆分为逻辑文件

## Monorepo 约定

- 使用工作区名称导入共享模块:`@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 子模块在项目之间共享规则
  • 保持 AGENTS.md 简洁,同时引用详细的指南
  • 确保 dropstone 仅在特定任务需要时加载文件

Tip

对于 monorepo 或具有共享标准的项目,使用带有 glob 模式(如 packages/*/AGENTS.md)的 dropstone.json 比手动指令更易于维护。

Ctrl+I