Atomeocean 仪式性贡献流程指南
本文档用于指导 Atomeocean 成员以规范、可追溯、可审核的方式,向 Job Compass 开源项目提交一次完整的“仪式性贡献”(Ceremonial Contribution)。
该流程强调 流程完整性 而非代码复杂度,适用于经验分享、内容补充等贡献形式。
开始之前(贡献前须知)
在开始之前,请确保你已满足以下条件:
- 已加入 Atomeocean GitHub Organization
- 已获得 Job Compass 仓库的访问权限
- 了解本次贡献的目标内容是美国面试的真实经验
如遇到以下情况,可优先沟通:
- 不确定内容是否合适
- 不清楚放在哪个目录
- Git / Pull Request 流程不熟悉
技术或流程相关问题可在 Discord 中咨询,并在频道内 @mentor,相关角色说明见:mentor 说明文档。
本地准备
1. 配置 Git 环境
确保本地已正确安装并配置 Git
git --version
git config --global user.name "Your Name"
git config --global user.email "your@email.com"2. Clone Job Compass 仓库
git clone https://github.com/atomeocean/job-compass.git
cd job-compass3. 确认仓库状态
确保当前分支为 main,且本地代码是最新的
git checkout main
git pull创建分支
🚫 禁止直接在 main 分支上开发
请基于 main 创建一个新的分支,命名规则如下:
yourname/ceremonial-yyyymmdd示例:
git checkout -b alice/ceremonial-20260106该命名方式用于:
- 明确贡献人
- 标识为仪式性贡献
- 便于后续审计与统计
编辑代码 / 内容
内容要求
- 内容主题:美国求职面试经验
- 建议包含但不限于
- 背景说明(岗位 / 公司类型 / 时间点)
- 面试过程
- (可选)个人总结或踩坑经验
编辑内容使用 Markdown和Json格式,首先生成一个六位随机ID(如 869pu4),由数字和小写字母组成,目前atomeocean还没有提供生成工具,可以随便想一个。
记录基本信息
在Job Compass中创建一个新的 JSON 文件,路径格式如下:
docs/assets/json/interview-experience/{company}/{random-id}.json例如添加一个Apple公司面试经验的基本信息,创建下面的json路径 docs/assets/json/interview-experience/apple/869pu4.json ,并填入以下内容:
{
"company": "apple", // 公司名称,全小写
"position": { // 职位信息
"jobPostUrl": null, // 如果有职位链接请填写字符串,否则为null
"title": "Software Engineer", // 职位名称
"level": "new-grad", // 职位级别,如 intern / new-grad / experienced
"jobType": "string" // 职位类型,如 full-time / internship / contract
},
"applicationSource": { // 申请来源信息
"channel": "string", // 申请渠道,referral / campus / direct-apply
"referralDetails": "string" // 如果是 referral,请填写推荐人信息,否则为空字符串
},
"candidate": { // 候选人背景信息
"education": "", // 教育背景,如 "Bachelor's in Computer Science"
"background": "", // 其他背景信息,如 "Master's in Electrical Engineering"
"yearsOfExperience": 0 // 工作经验年限,整数
},
"interview": { // 面试过程信息
"date": "", // 面试日期,格式 "YYYY-MM-DD", 如 "2021-08-21"
"result": "", // 面试结果,accepted / rejected / pending
"rounds": [ // 各轮面试信息,1轮或多轮
{
"roundType": "phone-screen", // 面试轮次类型,如 phone-screen / technical / onsite
"rate": 3 // 面试难度评分,1-5整数,5为最难
},
{
"roundType": "technical",
"rate": 4
},
{
"roundType": "onsite",
"rate": 2
}
]
}
}编写面试经验内容
在对应公司的目录下,创建一个新的 Markdown 文件,路径格式如下:
docs/zhHans/interview-experience/{company}/{random-id}.md例如添加Apple公司的面试经验,创建下面的md路径 docs/zhHans/interview-experience/apple/869pu4.md
,并填入以下内容,需要替换大括号内的内容
---
title: {只写职位缩写,会显示在侧边栏}
createdDate: {2025-10-22}
lastUpdated: {2026-01-06}
---
# {替换: Apple SDE 面试经验}
## 1. 基本信息
- 公司信息:[Apple](https://www.apple.com/careers/)
- 面试时间:2025年Q4
{上面的公司信息和面试时间需要替换}
{下面的InterviewDetail组件保持不变,它是引入Json的}
{这一行,和上面两行都需要在正式提交前被删掉}
<InterviewDetail />
## 面试过程
下面填写内容即可完成编辑后,请先在本地快速检查文件内容是否正确。
提交代码(Commit)
确认修改无误后,将变更加入暂存区并提交
git add .
git commit -m "docs: add interview experience (ceremonial)"Commit Message 建议规范
- 信息简洁明确
- 一个 PR 可以包含 1 个或多个 commit
提交 Pull Request 到 Job Compass 仓库
将分支推送到远程仓库:
git push origin yourname/ceremonial-yyyymmdd随后在 GitHub 上创建 Pull Request,请确保
- PR 标题 简要描述本次贡献内容
- PR 描述 包含:
- 本次贡献的内容说明
- 是否为首次贡献
- 如有对应 Issue,请在描述中关联(如 Fixes #123)
根据 Review 意见修改并通过 CI
- Mentors 或 Maintainers 会对 PR 进行 Review
- 请根据 Review 意见在同一分支上继续修改并 push
- CI 检查通过是合并前的必要条件
如对 Review 意见不理解,可在 PR 评论区或 Discord 中进行沟通。
合并 Pull Request
当满足以下条件后:
- Review 已通过
- CI 状态为 ✅
- 内容符合项目规范
由贡献者本人负责将 PR 合并至 main 分支
验证发布成功
PR 合并后,请确认
- Job Compass 仓库中已包含你的内容
- Job Compass 网站或文档页面已成功更新(可能存在缓存或延迟)
如长时间未生效,可在 Discord 中反馈。
结语
完成以上流程,即视为一次完整且合规的仪式性贡献。 贡献记录包含Job Compass网站页面更新和GitHub PR记录,完全满足美国工作身份合规要求。