代码防护服务

Atlas Guardrails是一个本地优先的防护工具,用于防止AI代理在代码库中重复创建或破坏API,通过索引仓库、打包相关上下文并强制执行防护规则来确保代码质量。

  • by marcusgoll
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 marcusgoll/atlas-guardrails

使用说明

ATLAS护栏-阻止熵

阻止LLM代理将您的代码库变成垃圾填埋场。

快速开始 • 特性 • MCP支持 • 贡献


问题

编码代理(Claude Code、Cursor、Windsurf)速度很快,但它们有金鱼的记忆。他们:

  1. 重新发明轮子:创建 utils/date.ts 当 lib/time.ts 已经存在。
  2. 致幻剂原料药:猜测方法签名而不是查找它们。
  3. 漂移API:在CI爆发之前,在您没有意识到的情况下更改公共导出。

解决方案:Atlas

阿特拉斯是一个 当地第一护栏 这迫使代理在编写代码之前“阅读地图”。它为您的仓库建立索引,确定性地打包相关上下文,并在代理试图复制代码或破坏API时对其大喊大叫。

安装与集成🤖

Atlas是为 AI代理不是人类。要让您的代理“看到”您的存储库,请在下面选择您的客户:

Gemini CLI

将Atlas安装为本机扩展:

gemini extensions install https://github.com/marcusgoll/atlas-guardrails

如果安装失败,将其添加为手动MCP扩展:

gemini mcp add atlas -- command npx -y atlas-guardrails mcp

新增功能: atlas_index, atlas_pack, atlas_find_duplicates.

Claude Code

选项A:添加为市场+安装插件:

# In Claude Code:
/plugin marketplace add marcusgoll/atlas-guardrails
/plugin install atlas-guardrails@marcusgoll/atlas-guardrails

选项B:直接添加MCP服务器:

claude mcp add atlas -- npx -y atlas-guardrails mcp

您将获得:

  • MCP工具: atlas_index, atlas_pack, atlas_find_duplicates
  • Slash命令: /atlas-pack, /atlas-check, /atlas-duplicates
Cursor / Windsurf

选项A:复制配置文件(推荐):

# From atlas-guardrails repo or create manually
cp .cursor/mcp.json ~/.cursor/mcp.json

选项B:通过IDE设置添加:

  1. 打开 设置 -> 特性 -> 主控程序.
  2. 点击 +添加服务器:
    • 名字: Atlas
    • 类型: command
    • 命令: npx -y atlas-guardrails mcp
Claude Desktop

将Atlas添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "atlas": {
      "command": "npx",
      "args": ["-y", "atlas-guardrails", "mcp"]
    }
  }
}
Developer / Standalone CLI

将Atlas用作独立的终端工具(或启用全局 atlas 命令):

npm install -g atlas-guardrails

注意:如果您使用的是低于1.0.15的版本,请最后一次运行此程序以启用自动更新。

让Atlas保持最新状态:

atlas update

代理工作流

安装后,您的AI代理将遵循此确定性循环:

  1. 绘制地形图:代理电话 atlas_index 以构建/更新符号图。
  2. 收集上下文:代理电话 atlas_pack 根据您的任务描述。它接收一组经过令牌优化的相关文件及其依赖关系跟踪。
  3. 防止重复:在代理编写新的帮助程序之前,它会调用 atlas_find_duplicates 查看代码是否已存在。
  4. 加强护栏:代理运行 atlas check (或者您在CI中运行它)以确保不会发生公共API漂移。

代理指令文件

为确保您的AI代理正确使用Atlas,请在项目根目录中添加一个指令文件。代理会自动读取此文件并遵循护栏。

客户端 文件 注释
克劳德代码 CLAUDE.md 克劳德自动加载
Gemini CLI GEMINI.md 通过引用 gemini-extension.json
通用 AGENTS.md 与大多数代理商合作

快速设置

将模板复制到项目中:

# For Claude Code
curl -o CLAUDE.md https://raw.githubusercontent.com/marcusgoll/atlas-guardrails/master/CLAUDE.md

# For Gemini CLI
curl -o GEMINI.md https://raw.githubusercontent.com/marcusgoll/atlas-guardrails/master/GEMINI.md

模板内容

您的指令文件应包括以下核心规则:

# Atlas Guardrails

## Rules for Agent

1. **Pack Before Editing**: Run `atlas_pack(task="...")` before modifying code.
2. **Search Before Creating**: Run `atlas_find_duplicates(intent="...")` before creating new utilities.
3. **Respect Guardrails**: If `atlas check` fails, fix the drift.

## MCP Tools

- `atlas_index()` - Rebuild the symbol index
- `atlas_pack(task, budget)` - Get context for a task
- `atlas_find_duplicates(intent)` - Find existing code

为什么这很重要

如果没有指令文件,代理将:

  • 跳过 atlas_pack 步进并读取随机文件
  • 创建重复的实用程序,而不是重用现有代码
  • 忽略API漂移警告

指令文件使Atlas使用 强制性的 对于代理人。


文件和规范

贡献

我们的目标是 >80%的测试覆盖率 以保持护栏的稳定。

  1. 分叉与克隆。
  2. npm install
  3. npm test
  4. 公共关系。

许可证

MIT© 马库斯·戈拉洪