nkds

导航

 

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开源社区实际情况撰写,旨在帮助更多人参与到开源建设中来。如有任何疑问,欢迎在GitHub Discussions提问或直接联系维护者。

关键词:#MonkeyCode #开源贡献 #GitHub #社区建设 #开源指南 #开发者 #AI编程 #AGPL #PR #CodeReview #技术成长

posted on 2026-07-08 16:48  MonkeyCode  阅读(30)  评论(0)    收藏  举报