Claude代码团队蓝图
为您的公司构建共享Claude代码配置的完整剧本。
问题
当你给你的团队Claude Code时,每个人都会以不同的方式设置它。不同的插件,不同的提示,没有共享的标准,API密钥分散在各处,没有办法控制可用的工具。新员工花几个小时弄清楚设置,而不是做工作。
我们建造了什么
在 安大略省,我们与Salesforce组织、内部知识库、VoIP平台API、Microsoft 365和不断壮大的团队一起经营VoIP业务。我们需要Claude Code以同样的方式为每个人工作——通过我们的SOP、质量标准和集成——同时保护秘密安全,让管理员控制团队可以使用的工具。
我们构建了一个GitHub仓库来完成所有这些:
- 5分钟入职培训 -一个脚本安装所有内容并提示输入API密钥
- AI人物角色 了解我们的工作流程——案例质量评分、Salesforce自动化、文档标准、支持票处理、全栈开发
- 18个斜线命令 触发特定工作流--
/stan-review 222448根据8个质量维度对一个案例进行评分,/flow-review Lead_Assignment审核Salesforce流中的调速器限制 - 管理员控制的目录 插件和MCP服务器——未经PR批准,任何东西都不能进入工具包
- 自动发现 --任何团队仓库都可以通过添加
.claude-catalog-entry.json档案;每周GitHub Action都会扫描这些内容,并创建PR供管理员审查 - 发布系统 --管理员发布一次性消息,在下次团队成员同步时显示
- 默认安全 -API密钥从未提交,带有推送保护的秘密扫描,需要PR批准的分支机构保护,每次推送都有TruffleHog CI
运作原理
1. Team member clones the config repo
2. Runs setup.sh in their project directory
3. Script copies personas/commands, enables recommended plugins,
prompts for API keys, generates .mcp.json and .env
4. Restart Claude Code — everything works
Later:
- catalog.sh to browse/toggle plugins and MCP servers
- git pull + setup.sh to get updates
- Announcements display automatically on sync建筑
your-org/claude-config (admin-controlled)
├── catalog.json ← approved plugins & MCP servers
├── announcements.json ← one-time team messages
├── .claude/
│ ├── personas/*.md ← behavior profiles (<100 lines each)
│ └── commands/*.md ← slash commands
├── scripts/
│ ├── setup.sh ← first-run onboarding
│ ├── catalog.sh ← interactive tool manager
│ ├── bootstrap-repo.sh ← apply security to new repos
│ ├── sync-catalog.sh ← auto-discover tools from org repos
│ └── check-announcements.sh
└── .github/workflows/
├── secret-scan.yml ← TruffleHog on every push
└── catalog-sync.yml ← weekly tool discovery → PR
your-org/any-project
├── .claude/personas/ ← copied from config repo
├── .claude/commands/ ← copied from config repo
├── .mcp.json ← generated locally (gitignored, has secrets)
├── .env ← generated locally (gitignored, has secrets)
└── CLAUDE.md ← project-specific instructions
your-org/some-mcp-server
└── .claude-catalog-entry.json ← discovered weekly by catalog sync建立自己的
这 蓝图 包含一个完整的系统提示,您可以将其粘贴到Claude Code中,为您的公司构建相同的设置。填写您的公司名称、GitHub组织、工作流、MCP服务器和管理员用户——Claude Code构建一切。
系统提示创建了什么:
| 组件 | 它的作用 |
|---|---|
catalog.json | 管理员控制的插件和MCP服务器列表,每个工具都有设置说明 |
setup.sh | 首次运行脚本:复制配置、启用插件、提示密钥、生成本地文件 |
catalog.sh | 交互式管理器,用于在初始设置后浏览、启用/禁用工具 |
bootstrap-repo.sh | 将分支保护、秘密扫描、CODEOWNERS、PR模板应用于任何新的仓库 |
sync-catalog.sh | 扫描组织仓库 .claude-catalog-entry.json 并为新工具创建PR |
check-announcements.sh | 每个用户显示一次管理员公告 |
announcements.json | 安装/目录运行时显示的一次性消息 |
| 秘密扫描工作流程 | TruffleLog记录每次推送和公关 |
| 目录同步工作流程 | 每周扫描新工具,创建PR供管理员审查 |
| Personas | 100行以下的AI行为配置文件,按需通过命令加载 |
| 命令 | 真实 .claude/commands/*.md 具有标签完整支持的文件 |
| 分支机构保护 | 需要1个批准,限制推送者,过期审查驳回 |
这 /build 命令
我们很早就学到了一件事:团队成员不需要知道角色、命令、内存条目或MCP服务器之间的区别。他们只是想建造一些东西。
将此添加到您的团队 CLAUDE.md:
## Building Things
When a user says `/build` or asks to "build" a capability, choose the right primitive:
| Primitive | When to use |
|-----------|------------|
| **Persona** | Defines behavior, tone, or standards — loaded by commands |
| **Command** | A workflow invoked via `/name` — does a specific task |
| **Memory** | A persistent fact, preference, or reference |
| **MCP Server** | Connects to an external API — only when called frequently |
The user should never need to specify "make me a skill/agent/command/plugin."
Just `/build [what they want]` and you decide the method.
Explain what you chose and why in one line before building.现在团队中的任何人都可以说:
/build a way to check project status before standup
/build a persona that writes in our brand voice
/build something that pulls metrics from our dashboard weeklyClaude选择了正确的图元,并在构建之前解释了选择。
关键设计决策
| 决定 | 为什么 |
|---|---|
| 100行以下的角色 | 令牌效率——它们加载到每个命令的上下文中 |
| 命令作为真正的.md文件 | Claude Code通过制表符完成本机发现它们 |
| catalog.json,不自动安装 | 管理员控制——未经审核,任何内容都无法输入 |
| .mcp.json gitignored | 包含API密钥-每个用户生成自己的密钥 |
| 新目录条目默认为recommended:false | 管理员在审核后明确升级 |
| 每周同步,而非实时 | 将提案批量处理为可管理的PR |
| 带有跟踪功能的公告 | 一次性显示可防止疲劳 |
| bootstrap-repo.sh | 无需手动设置即可实现一致的安全性 |
命名法
我们对这些术语进行了标准化,以消除混淆:
| 术语 | 含义 | 位置 |
|---|---|---|
| 命令 | 通过调用工作流 /name | .claude/commands/*.md |
| 角色 | 由命令加载的行为配置文件 | .claude/personas/*.md |
| MCP 服务器 | 外部工具提供商 | .mcp.json (本地,从未承诺) |
| 插件 | Claude Code从官方注册表扩展 | .claude/settings.local.json |
| 目录 | 团队批准的插件和MCP | catalog.json |
| 记忆 | 个人持久上下文 | .claude/memory/ (从未分享) |
保持最新状态
这一蓝图得到了积极维护。当我们在OIT的私人团队配置中构建新功能时,我们会对其进行消毒并在此处发布,以便社区受益。公司名称、API密钥、内部URL和员工姓名将在发布前自动删除。
从我们的实时设置同步的最新添加内容:
/build通用构建器——团队成员描述他们想要什么,克劳德选择正确的原语- 公告系统——管理员发布一次性消息,在下次同步时显示
- 自动发现管道——通过repos自注册工具
.claude-catalog-entry.json - 按照目录中的工具设置说明——逐步配置密钥
- 发布带有净化功能的脚本——我们如何同步私有→ 公开而不泄露公司信息
当我们添加新的东西时,它就会落在这里。观看或标记回购以获得通知。
入门指南
- 阅读 蓝图
- 复制系统提示
- 替换
[BRACKETED PLACEHOLDERS]与您的公司详细信息 - 粘贴到Claude代码中
- 按照提供的提示添加角色、MCP服务器、公告和机载团队成员
提示
- 从小处着手 --2-3个角色和5-6个命令。随着工作流程的出现,添加更多内容。
- 保持角色精简 --只有规则和标准。没有背景故事或填充物。
- 测试命令自己 在推出之前。
- 使用公告 对于更改,不要假设团队阅读了README。
- 每周查看目录 --同步PR是您的策展检查点。
- .claude/记忆/是私人的 --永远不要在配置仓库中共享它。
- 一次setup.sh运行 应该在5分钟内让某人从零开始工作。
关于
这是自由分享的。接受它,适应它,让它成为你的。
许可证
麻省理工学院
