North Coder

项目与工作区

理解项目、工作区、分支和 checkpoint。

North Coder 围绕项目和工作区组织任务。项目代表一个代码库或目录;工作区代表一次具体任务的执行环境。

核心概念

概念说明
项目一个本地代码目录或 Git 仓库。
工作区Agent 处理任务的独立环境。
Source ref创建工作区时的起点,可以是分支、tag 或 commit。
Target branch任务最终希望合入的目标分支。
工作分支当前工作区内实际产生改动的分支。
Checkpoint用于保存或回退关键状态的检查点。

并行工作区与 Git Worktree

North Coder 支持多个 Agent 同时在同一个项目上工作,互不干扰。底层机制是 Git Worktree:每个工作区对应一份独立的工作目录和独立的分支,文件系统层面物理隔离。

Agent任务分支
A修复认证 token 过期 bugfix/auth-token-expire
B新增用户导出功能feat/user-export
C补充支付模块单元测试test/payment-module

三个 Agent 并行施工时:

  • 各自在独立目录里读写,不会覆盖彼此的文件。
  • 分支名根据第一条消息自动生成,无需手动命名。
  • 任务完成后可一键创建 PR。
  • 合并后工作区自动归档,保持项目整洁。

这和"多开几个聊天窗口但在同一目录改来改去"有本质区别——后者在 Agent A 改文件时,Agent B 可能同时覆盖相同文件导致冲突。Git Worktree 从根本上消除了这个问题。

什么时候创建新工作区

建议为每个独立目标创建一个工作区:

  • 一个功能改动。
  • 一个 bug 修复。
  • 一次文档更新。
  • 一轮代码审查处理。
  • 一次只读调研或排障。

避免在同一个工作区里混合多个无关目标,这会让改动审阅、测试和合并都变复杂。

选择 Source ref

创建工作区时,Source ref 决定任务从哪里开始:

  • 使用主分支:适合常规新任务。
  • 使用已有功能分支:适合继续处理未完成工作。
  • 使用 commit id:适合复现某个历史状态。
  • 使用 tag:适合基于已发布版本排查问题。

如果你不确定,通常选择当前主分支或正在协作的功能分支。

设置 Target branch

Target branch 用于表达最终合并目标。它不会自动替你完成合并,但会帮助后续 PR、diff 和 review 语义保持清晰。

常见选择:

  • mainmaster:常规产品改动。
  • 发布分支:针对特定版本的修复。
  • 团队约定的集成分支:多人协作时使用。

管理工作区

常见操作包括:

  • 打开工作区,继续已有会话。
  • Fork 工作区,从当前状态创建新分支。
  • 归档不再活跃的工作区。
  • 使用 checkpoint 保存关键状态。
  • 在外部 IDE 中打开工作区目录。

当 Agent 或你自己已经产生改动时,优先审阅现有变更,再决定继续修改、拆分任务或创建新工作区。

Git 状态

开始任务前建议确认:

  • 当前分支是否正确。
  • 是否存在未提交的本地改动。
  • 远端分支是否需要更新。
  • 是否已经有打开的 PR 或 review 线程。

North Coder 可以辅助处理这些状态,但你仍应把每个工作区的目标边界保持清楚。

本页内容