MonkeyCode社区贡献指南:从Bug报告到核心贡献者(2026完整版)
"开源项目的生命力来自社区的每一次参与——无论是一个Bug报告、一行代码修复,还是一篇文档翻译。" —— 本指南将带你从零开始,成为MonkeyCode开源社区的核心贡献者。
一、为什么参与MonkeyCode开源社区?
1.1 参与开源的六大价值
┌─────────────────────────────────────────────────────┐
│ 参与MonkeyCode开源的价值矩阵 │
├──────────┬─────────────────────────────────────────┤
│ 价值维度 │ 具体收益 │
├──────────┼─────────────────────────────────────────┤
│ 技术成长 │ 深入理解AI Agent架构、MCP协议、SDD规范 │
│ │ 阅读长亭科技级代码质量 │
│ │ 掌握企业级软件开发最佳实践 │
├──────────┼─────────────────────────────────────────┤
│ 职业发展 │ GitHub贡献记录是简历亮点 │
│ │ 展示协作能力和工程素养 │
│ │ 有机会获得长亭科技内推机会 │
├──────────┼─────────────────────────────────────────┤
│ 社交网络 │ 结识全球AI编程领域开发者 │
│ │ 加入核心技术讨论群 │
│ │ 参与线下Meetup和技术大会 │
├──────────┼─────────────────────────────────────────┤
│ 影响力 │ 你的代码将被数万开发者使用 │
│ │ 塑造AI编程工具的发展方向 │
│ │ 推动整个行业的技术进步 │
├──────────┼─────────────────────────────────────────┤
│ 认可回报 │ Contributors列表永久留名 │
│ │ 优秀贡献者获得官方周边礼品 │
│ │ Top Contributor年度表彰 │
├──────────┼─────────────────────────────────────────┤
│ 免费资源 │ 企业版功能免费使用权限 │
│ │ 优先体验新特性(Beta通道) │
│ │ 官方技术支持优先响应 │
└──────────┴─────────────────────────────────────────┘
1.2 MonkeyCode社区现状
# MonkeyCode开源社区数据(截至2026年7月)
GitHub仓库:
url: https://github.com/chaitin/monkeycode
stars: 12.8K ⭐
forks: 2.3K 🍴
watchers: 890 👁️
contributors: 186 👥
活跃度指标:
open_issues: 47
open_prs: 23
last_release: v1.2.3 (2026-06-28)
release_frequency: 约每2周一个版本
社区构成:
core_maintainers: 8人 (长亭科技核心团队)
active_contributors: 45人 (月均1+次贡献)
casual_contributors: 133人 (偶发贡献)
issue_reporters: 1200+人
语言分布:
TypeScript: 78%
YAML: 12%
Shell: 5%
Python: 3%
其他: 2%
许可证: AGPL-3.0
二、贡献方式全景图
2.1 十种贡献方式(从易到难)
难度阶梯 贡献类型 所需技能 预计时间
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆☆☆☆☆ 极易 1. 使用反馈 会用即可 5分钟
2. Bug报告 观察力 15分钟
3. 文档改进 写作能力 30分钟
☆☆☆☆ 较易 4. 翻译文档 双语能力 1-2小时
5. 回答Issue问题 技术知识 30分钟-1小时
☆☆☆ 中等 6. 小型Bug修复 编程能力 1-4小时
7. 新增测试用例 测试思维 2-4小时
8. 示例代码编写 工程实践 2-6小时
☆☆ 较难 9. 新功能开发 架构设计+编码 1天-1周
☆ 挑战 10.架构级改进 深度技术洞察 1周-1月+
2.2 各类贡献详细说明
类型1:使用反馈(5分钟)
适合人群: 刚接触MonkeyCode的用户
如何做:
- 在GitHub Discussions分享你的使用场景
- 在社交媒体(Twitter/微博/V2EX)推荐MonkeyCode
- 给项目点Star ⭐(这是最简单但最有价值的支持!)
模板示例:
📝 使用反馈模板:
我正在使用MonkeyCode做:[描述你的使用场景]
我的技术栈是:[如 TypeScript + React + PostgreSQL]
最让我惊喜的功能是:[如 SDD规范驱动 / MonkeyScan安全扫描]
建议改进的地方:[可选,具体描述]
整体评分:⭐⭐⭐⭐⭐ (1-5星)
类型2:Bug报告(15分钟)
适合人群: 发现问题的所有用户
高质量Bug报告要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 标题 | 一句话概括问题 | "MCP Server连接超时无重试" |
| 环境信息 | OS/Node版本/MonkeyCode版本 | Ubuntu 22.04 / Node 20 / v1.2.1 |
| 复现步骤 | 从头到尾的操作序列 | 1. 启动MC → 2. 配置MCP → ... |
| 期望行为 | 你认为应该怎样 | 应自动重连并恢复 |
| 实际行为 | 实际发生了什么 | 直接报错退出 |
| 日志/截图 | 错误输出或界面截图 | [附上终端错误截图] |
Issue模板(直接复制使用):
## Bug 描述
[清晰描述你遇到的问题]
## 复现步骤
1. 配置文件如下:
\`\`\`yaml
# 你的配置
\`\`\`
2. 执行命令:`monkeycode start`
3. 触发操作:[描述]
## 期望行为
[你认为应该发生什么]
## 实际行为
[实际发生了什么]
## 环境信息
- 操作系统:[如 macOS 14.5]
- Node.js版本:`node --version` 输出
- MonkeyCode版本:`monkeycode --version` 输出
- 包管理器:npm/pnpm/yarn + 版本
## 相关日志
\`\`\`
# 终端中的错误输出粘贴在这里
\`\`\`
## 截图(如有)
[拖拽或粘贴截图]
## 附加说明
[任何其他可能有用的信息]
类型3:文档改进(30分钟)
适合人群: 英语好或中文好的用户
MonkeyCode文档结构:
docs/
├── README.md # 项目首页(中英双语)
├── getting-started/
│ ├── installation.md # 安装指南
│ ├── quick-start.md # 快速上手
│ └── configuration.md # 配置详解
├── guides/
│ ├── sdd-guide.md # SDD规范指南
│ ├── mcp-integration.md # MCP集成指南
│ └── security-scan.md # 安全扫描指南
├── api/
│ ├── cli-reference.md # CLI命令参考
│ ├── config-schema.md # 配置Schema
│ └── mcp-api.md # MCP API文档
├── development/
│ ├── contributing.md # 贡献指南(本文!)
│ ├── architecture.md # 架构文档
│ └── code-style.md # 代码风格规范
└── zh-CN/ # 中文翻译目录
└── (同上结构)
常见文档改进方向:
- 🔤 错别字/语法修正
- 🌐 中英文互译
- 📝 补充缺失的API文档
- 🖼️ 添加更多截图/示意图
- 🔗 修复失效的外部链接
- 📊 补充配置示例
类型4-10:进阶贡献(详见后续章节)
三、开发环境搭建
3.1 Fork & Clone
# 1. Fork仓库(在GitHub网页操作)
# 访问 https://github.com/chaitin/monkeycode → 点击 Fork 按钮
# 2. 克隆你的Fork
git clone https://github.com/YOUR_USERNAME/monkeycode.git
cd monkeycode
# 3. 添加上游仓库(便于同步更新)
git remote add upstream https://github.com/chaitin/monkeycode.git
# 4. 安装依赖
pnpm install # 必须使用 pnpm!
# 5. 启动开发模式
pnpm dev
3.2 项目结构速览
monkeycode/
├── src/ # 源码主目录
│ ├── core/ # 核心引擎
│ │ ├── agent/ # Agent编排器
│ │ ├── sdd/ # SDD规范引擎
│ │ ├── scan/ # MonkeyScan引擎
│ │ └── llm/ # LLM调用抽象层
│ ├── mcp/ # MCP协议实现
│ │ ├── client/ # MCP客户端
│ │ ├── server/ # 内置Server
│ │ └── tools/ # 工具选择器
│ ├── cli/ # 命令行接口
│ ├── config/ # 配置管理
│ ├── utils/ # 通用工具函数
│ └── types/ # TypeScript类型定义
├── tests/ # 测试文件
│ ├── unit/ # 单元测试
│ ├── integration/ # 集成测试
│ └── e2e/ # 端到端测试
├── docs/ # 文档
├── scripts/ # 构建/发布脚本
├── packages/ # 子包(monorepo)
│ ├── @monkeycode/sdk # SDK包
│ ├── @monkeycode/cli # CLI包
│ └── @monkeycode/server # Server包
├── package.json
├── pnpm-workspace.yaml
├── tsconfig.json
└── .github/ # GitHub Actions等配置
├── workflows/
│ ├── ci.yml # CI流水线
│ ├── pr-check.yml # PR检查
│ └── release.yml # 自动发布
└── ISSUE_TEMPLATE/ # Issue模板
├── bug_report.yml
└── feature_request.yml
3.3 开发工具推荐
| 工具 | 用途 | 推荐配置 |
|---|---|---|
| VS Code | 主编辑器 | 安装推荐扩展(见 .vscode/extensions.json) |
| Node.js 20+ | 运行时 | 通过 nvm 或 fnm 管理 |
| pnpm 9+ | 包管理器 | 必须!不支持 npm/yarn |
| TypeScript 5.4+ | 类型检查 | VS Code内置 |
| Vitest | 单元测试运行器 | pnpm test |
| Playwright | E2E测试 | pnpm test:e2e |
| Rust (可选) | 性能关键组件 | 用于编译wasm模块 |
四、Git工作流与PR提交规范
4.1 分支策略
main (受保护分支)
│
├── develop (开发分支)
│ │
│ ├── feature/mcp-custom-server (新功能)
│ ├── fix/sdd-parsing-error (Bug修复)
│ ├── docs/update-readme-zh (文档更新)
│ └── refactor/optimize-scanner (重构)
│
└── release/v1.3.0 (发布分支)
4.2 PR提交流程(完整版)
Step 1: 同步最新代码
─────────────────────────────────────────
git checkout main
git pull upstream main
Step 2: 创建功能分支
─────────────────────────────────────────
git checkout -b feature/your-feature-name
Step 3: 编写代码
─────────────────────────────────────────
# ... 你的修改 ...
Step 4: 运行本地验证
─────────────────────────────────────────
pnpm lint # 代码风格检查
pnpm test # 运行单元测试
pnpm build # 确保编译通过
pnpm typecheck # TypeScript类型检查
Step 5: Commit(遵循Conventional Commits)
─────────────────────────────────────────
git add .
git commit -m "feat(mcp): add custom server registration API"
Step 6: Push到你的Fork
─────────────────────────────────────────
git push origin feature/your-feature-name
Step 7: 创建Pull Request
─────────────────────────────────────────
# 在GitHub网页操作:
# 1. 访问仓库页面 → "Compare & pull request"
# 2. 填写PR模板(见下方)
# 3. 创建PR
Step 8: 等待Review & CI通过
─────────────────────────────────────────
# CI会自动运行:
# - 代码风格检查 (ESLint/Prettier)
# - 单元测试 (Vitest)
# - 类型检查 (tsc --noEmit)
# - 安全审计 (npm audit)
Step 9: 根据反馈修改
─────────────────────────────────────────
# Reviewer提出意见后:
git commit -m "fix: address review comments about error handling"
git push origin feature/your-feature-name
# PR会自动更新
Step 10: 合并!🎉
─────────────────────────────────────────
# Maintainer合并后:
# - 你的名字出现在Contributors列表
# - 下个Release包含你的改动
4.3 Commit Message规范
采用 Conventional Commits 格式:
<type>(<scope>): <subject>
<body>
<footer>
Type类型:
| Type | 含义 | 使用场景 |
|---|---|---|
feat |
新功能 | 添加新的API、功能、选项 |
fix |
Bug修复 | 修复已知问题 |
docs |
文档变更 | 仅文档修改 |
style |
代码格式 | 不影响逻辑的格式调整 |
refactor |
重构 | 既不是新功能也不是修复的重构 |
perf |
性能优化 | 提升性能的改动 |
test |
测试相关 | 添加/修改测试用例 |
chore |
构建/工具 | 构建脚本、依赖更新等 |
ci |
CI配置 | GitHub Actions等 |
revert |
回滚 | 回滚之前的commit |
Scope范围(常用):
| Scope | 对应模块 |
|---|---|
core |
核心引擎 |
agent |
Agent编排 |
sdd |
SDD规范 |
scan |
MonkeyScan |
mcp |
MCP协议 |
cli |
命令行接口 |
config |
配置管理 |
docs |
文档 |
test |
测试 |
正确示例:
# ✅ 好的Commit Message
git commit -m "feat(sdd): support nested TODO list in SDD spec"
git commit -m "fix(scan): resolve false positive in SQL injection detection for parameterized queries"
git commit -m "docs(readme): add Chinese translation of quick-start guide"
git commit -m "perf(mcp): implement connection pooling for stdio transports"
# ❌ 不好的Commit Message
git commit -m "fixed bug" # 太模糊
git commit -m "update stuff" # 无意义
git commit -m "WIP" # 不规范的缩写
git commit -m "Fix #123" # 缺少type/scope
4.4 PR模板(必填)
## PR类型
- [ ] 🚀 新功能 (Feature)
- [ ] 🐛 Bug修复 (Bug Fix)
- [ ] 📝 文档更新 (Documentation)
- [ ] ♻️ 代码重构 (Refactor)
- [ ] ⚡ 性能优化 (Performance)
- [ ] 🧪 测试相关 (Test)
## 变更概述
[用1-3句话描述这个PR做了什么]
## 关联Issue
Closes #[Issue编号] (如果有对应Issue的话)
## 变更详情
[详细列出主要变更内容]
## 测试计划
- [ ] 已添加/更新单元测试
- [ ] 已手动测试以下场景:
- [ ] 场景1
- [ ] 场景2
- [ ] 已确认CI全部通过 ✓
## 截图/GIF(UI变更时必填)
[如果有界面变更,请附上截图或GIF演示]
## 兼容性说明
- [ ] 向后兼容(无需用户修改配置)
- [ ] ⚠️ 需要破坏性变更(请说明迁移路径)
## 补充说明
[任何其他Maintainer需要知道的信息]
五、代码质量标准
5.1 代码风格(ESLint + Prettier)
项目已配置自动化格式化,提交前自动执行:
# 手动运行格式化
pnpm format # Prettier格式化
pnpm lint # ESLint检查
# Git Hook会在提交时自动运行(Husky + lint-staged)
关键规则:
// ✅ 正确的风格
// 1. 使用const/let,禁止var
const maxRetries = 3;
let attemptCount = 0;
// 2. 箭头函数优先(尤其是回调)
const users = data.map(item => ({
id: item.id,
name: item.name.toUpperCase(),
}));
// 3. 解构赋值
function processConfig({ host, port = 3000, timeout = 5000 }) {
return { host, port, timeout };
}
// 4. async/await优于Promise链
async function fetchData(url: string) {
try {
const response = await fetch(url);
return await response.json();
} catch (error) {
logger.error('Fetch failed:', error);
throw error;
}
}
// 5. 类型注解(TypeScript严格模式)
interface McpToolCall {
toolName: string;
arguments: Record<string, unknown>;
timestamp: number;
}
5.2 测试要求
覆盖率门槛:
| 文件类型 | 最低覆盖率 | 目标覆盖率 |
|---|---|---|
| 核心引擎(core/) | 80% | 90%+ |
| MCP模块(mcp/) | 75% | 85%+ |
| CLI接口(cli/) | 70% | 80%+ |
| 工具函数(utils/) | 90% | 95%+ |
| 配置模块(config/) | 60% | 75%+ |
测试命名规范:
// Vitest测试文件示例
// 文件位置: tests/unit/core/agent/orchestrator.test.ts
import { describe, it, expect, beforeEach, vi } from 'vitest';
import { AgentOrchestrator } from '@/core/agent/orchestrator';
describe('AgentOrchestrator', () => {
let orchestrator: AgentOrchestrator;
beforeEach(() => {
orchestrator = new AgentOrchestrator({
maxSteps: 10,
timeoutMs: 30000,
});
});
describe('executeTask', () => {
it('should complete a simple task within max steps', async () => {
const result = await orchestrator.executeTask('say hello');
expect(result.success).toBe(true);
expect(result.steps.length).toBeLessThanOrEqual(10);
});
it('should retry on transient failures', async () => {
// Mock一个会失败一次然后成功的工具
const flakyTool = vi.fn()
.mockRejectedValueOnce(new Error('timeout'))
.mockResolvedValueOnce({ success: true });
const result = await orchestrator.executeTask(
'use flaky tool',
{ tools: { flaky: flakyTool } }
);
expect(result.success).toBe(true);
expect(flakyTool).toHaveBeenCalledTimes(2);
});
it('should fail gracefully when max steps exceeded', async () => {
// Mock一个永远不成功的工具
const failingTool = vi.fn().mockResolvedValue({
success: false,
needsMoreWork: true
});
const result = await orchestrator.executeTask(
'impossible task',
{ tools: { fail: failingTool } }
);
expect(result.success).toBe(false);
expect(result.error).toContain('max steps');
});
});
});
六、从新手到核心贡献者的成长路径
6.1 六阶段成长模型
Level 1: Observer(观察者)⭐
时间:第1周
行为:Star项目、阅读文档、浏览Issues
目标:了解项目全貌
产出:无(但已经很重要了!)
Level 2: Reporter(报告者)⭐⭐
时间:第2-4周
行为:提交Bug报告、回答其他人的Issue
目标:学会高质量沟通
产出:Issue报告、Discussion回复
Level 3: Patcher(修补者)⭐⭐⭐
时间:第1-3月
行为:修复小Bug、补充文档、添加测试
目标:熟悉代码库和开发流程
产出:小型PR被合并
Level 4: Builder(构建者)⭐⭐⭐⭐
时间:第3-6月
行为实现新功能、参与架构讨论、Review他人PR
目标:独立承担中等复杂度任务
产出:Feature PR、Design Doc
Level 5: Leader(领导者)⭐⭐⭐⭐⭐
时间:第6-12月
行为:主导大型功能、指导新人、参与Roadmap制定
目标:成为子领域的权威
产出:RFC提案、技术博客、社区演讲
Level 6: Core Maintainer(核心维护者)🏆
时间:12月+
行为:拥有Write权限、负责Release、决策技术方向
目标:推动项目长期健康发展
产出:版本发布、重大架构决策
6.2 各阶段的关键行动
Level 1 → Level 2 的跨越
## 行动清单:
☑️ Star项目 + Watch仓库(接收通知)
☑️ 通读 README.md 和 CONTRIBUTING.md(就是本文!)
☑️ 本地跑起来:`pnpm install && pnpm dev`
☑️ 在Discord/微信群打个招呼:"大家好,我是xxx,对xx方向感兴趣"
☑️ 浏览Issues,给感兴趣的Issue点赞👍
☑️ 尝试复现一个Open Issue的问题
Level 2 → Level 3 的跨越
## 行动清单:
☑️ 找一个标记为 "good first issue" 的Issue
☑️ 先在Issue下留言:"我想尝试修复这个问题"
☑️ Fork → 修复 → 提交PR
☑️ 即使第一次PR被Reject也不要气馁!
☑️ 总结经验,第二次会更好
☑️ 连续完成3个以上小型PR
Level 3 → Level 4 的跨越
## 行动清单:
☑️ 关注Roadmap,选择一个你感兴趣的方向深入
☑️ 先写Design Doc(RFC),获得社区认可后再动手
☑️ 主动Review他人的PR(即使没有Write权限也可以comment)
☑️ 参与每周的Community Call(如果有的话)
☑️ 写技术博客分享你在项目中学到的东西
☑️ 尝试解决一个没有标记的复杂Issue
6.3 成为Core Maintainer的标准
硬性指标(需满足大部分):
- 连续6个月以上活跃贡献
- 累计合并PR ≥ 20个
- Review过 ≥ 50个他人的PR
- 主导过至少1个重要功能/模块
- 社区口碑良好(无冲突记录)
软性指标:
- 对项目愿景有深刻理解和认同
- 能够独立做出高质量的技术决策
- 愿意指导和帮助新人
- 在社区中有一定影响力
七、社区文化 & 行为准则
7.1 核心价值观
🤝 开放包容
欢迎所有背景的开发者参与
尊重不同的技术观点和经验水平
🎯 质量至上
代码质量不打折
测试覆盖不妥协
🔒 安全第一
作为安全公司的开源项目
安全意识融入每一行代码
💡 创新驱动
鼓励尝试新技术和新方案
容忍合理的失败
🌱 成长导向
每次Code Review都是学习机会
建设性批评 > 批评
7.2 Code Review 文化
作为PR作者:
- ✅ 不要把Review意见个人化
- ✅ 感谢Reviewer的时间("Thanks for the review!")
- ✅ 及时回应每个Comment(即使只是"done")
- ✅ 如果不同意,礼貌地解释原因并提供替代方案
作为Reviewer:
- ✅ 先说好的地方("Nice approach to X!")
- ✅ 问题要具体("这里可以考虑处理null情况" vs "写得不好")
- ✅ 区分Must have / Nice to have / Suggestion
- ✅ Approve时明确条件("LGTM once X is addressed")
Review回复快捷语:
| 缩写 | 含义 | 使用场景 |
|---|---|---|
| LGTM | Looks Good To Me | 完全没问题,可以合并 |
| PTAL | Please Take A Look | 请其他人也看看 |
| WIP | Work In Progress | 还在进行中,先不要Review |
| TIL | Today I Learned | 学到了新东西(赞赏式评论) |
| nit | Nitpick | 极小的瑕疵(可不改) |
| /done | 已完成修改 | 回应具体的review comment |
7.3 冲突解决机制
遇到分歧时的处理流程:
1. 技术争论
→ 在PR评论区充分讨论
→ 引用数据/基准测试支撑观点
→ 无法达成一致时邀请第三方Maintainer裁决
2. 行为问题
→ 私信对方尝试友好解决
→ 如无效,联系Core Maintainer介入
→ 严重违反行为准则 → Community Manager处理
3. 功能方向争议
→ 发起RFC(Request for Comments)
→ 社区投票 + Maintainer最终决定
→ 尊重最终结果
八、常见问题 FAQ
Q1:我不是大牛,能贡献吗?
A:当然可以! 90%的贡献不需要你是技术专家。修错别字、补文档、报Bug、回答新手问题——这些都非常宝贵。
Q2:英文不好怎么办?
A:没问题! MonkeyCode有完整的中文文档体系。你可以:
- 贡责中文文档的维护和更新
- 将英文文档翻译成中文
- 用中文参与Discussion讨论
- PR的描述可以用中文写(Maintainer看得懂)
Q3:没有整块时间怎么办?
A:碎片时间足够! 很多贡献只需要15-30分钟:
- 顺手修一个typo:5分钟
- 回答一个Issue:15分钟
- Review一个小型PR:20分钟
Q4:PR被拒绝了怎么办?
A:正常现象! 即使是最资深的开发者也有PR被拒的经历。关键是:
- 仔细阅读拒绝原因
- 与Maintainer积极沟通
- 根据反馈修改后重新提交
- 把每次拒绝都当成学习机会
Q5:公司允许我用工作时间参与开源吗?
A:这取决于公司政策。 建议:
- 先了解公司的OSPO(Open Source Program Office)政策
- 很多公司鼓励甚至奖励员工参与开源
- MonkeyCode使用AGPL-3.0协议,企业使用需要注意合规性
- 可以咨询法务部门
Q6:贡献MonkeyCode对我的职业有什么帮助?
A:帮助很大! 具体体现在:
- GitHub绿墙是你的活简历
- 展示真实工程能力(比面试题靠谱100倍)
- 建立行业人脉
- 有机会获得长亭科技的招聘内推
- 如果做得好,可能直接变成正式工作机会
九、快速启动 Checklist
🚀 你的第一次贡献 — 30分钟快速入门
□ 第1步:环境准备(5分钟)
□ 注册GitHub账号(如果没有)
□ 安装Git并配置用户名和邮箱
□ 安装Node.js 20+ 和 pnpm 9+
□ 第2步:Fork & Clone(3分钟)
□ 访问 https://github.com/chaitin/monkeycode
□ 点击Fork按钮
□ git clone你的Fork地址
□ cd monkeycode && pnpm install
□ 第3步:找第一个Issue(5分钟)
□ 访问 Issues 页面
□ 筛选标签:`good first issue` 或 `help wanted`
□ 选择一个你感兴趣且能理解的Issue
□ 在Issue下留言:"我想试试"
□ 第4步:修复并提交(15分钟)
□ git checkout -b fix/issue-number-description
□ 编写代码修复
□ pnpm lint && pnpm test && pnpm build
□ git commit -m "fix(scope): resolve #XXX - brief description"
□ git push origin your-branch-name
□ 第5步:创建PR(2分钟)
□ 在GitHub创建Pull Request
□ 填写PR模板
□ 等待CI通过和Maintainer Review
🎉 恭喜!你已经是一名MonkeyCode贡献者了!
十、致谢 & 联系方式
核心团队致谢
感谢以下团队和个人的持续付出:
长亭科技MonkeyCode团队:
- 项目创始人 & Tech Lead
- 核心Maintainer团队(8人)
- 安全研究团队(MonkeyScan背后的力量)
- 产品&设计团队
社区Top贡献者(按贡献量排序):
此处动态展示GitHub Contributors排行榜
特别鸣名:
- 所有提交Issue的用户(1200+人)
- 所有Star项目的用户(12800+人)
- 所有撰写技术博客推广MonkeyCode的博主
- 所有在企业内部推广MonkeyCode的布道师
联系我们
| 渠道 | 用途 | 链接/地址 |
|---|---|---|
| GitHub Issues | Bug报告、功能请求 | 新建Issue |
| GitHub Discussions | 技术问答、使用交流 | 进入Discussions |
| Discord | 实时聊天、社区互动 | 加入Discord |
| 微信公众号 | 中文资讯、教程推送 | 搜索"长亭科技"或"MonkeyCode" |
| 微博 | 中文社区互动 | @长亭科技 |
| 邮件 | 私密问题、商务合作 | monkeycode@chaitin.cn |
总结
╔══════════════════════════════════════════════════════╗
║ ║
║ 🌟 MonkeyCode开源社区欢迎每一位参与者! ║
║ ║
║ 无论你是想: ║
║ • 学习AI Agent技术的开发者 ║
║ • 寻找实战项目的在校学生 ║
║ • 希望提升影响力的技术从业者 ║
║ • 对安全+AI交叉领域感兴趣的探索者 ║
║ ║
║ 这里都有适合你的贡献方式! ║
║ ║
║ 从今天开始,你的第一个Commit, ║
║ 就可能成为改变千万人开发体验的那一行代码。 ║
║ ║
║ 我们在GitHub等你! ║
║ → https://github.com/chaitin/monkeycode ← ║
║ ║
╚══════════════════════════════════════════════════════╝
系列导航
- 上一篇:《MonkeyCode MCP协议集成:打造开放的AI工具生态》
- 下一篇:《MonkeyCode vs Cline/Goose:开源AI编程工具横向对比》
- 系列目录:MonkeyCode开源完全指南(2026版)— 30篇系列索引
本文基于MonkeyCode开源社区实际情况撰写,旨在帮助更多人参与到开源建设中来。如有任何疑问,欢迎在GitHub Discussions提问或直接联系维护者。
关键词:#MonkeyCode #开源贡献 #GitHub #社区建设 #开源指南 #开发者 #AI编程 #AGPL #PR #CodeReview #技术成长
浙公网安备 33010602011771号