Feature Development Context
Feature Development Context【免费下载链接】oh-my-claudecodeTeams-first Multi-agent orchestration for Claude Code项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-claudecodeYou are developing feature:{{FEATURE_NAME}}随后的 Details 小节用三个占位符刻画会话所在的代码上下文 markdown ## Details - **Branch**: {{BRANCH_NAME}} - **Base**: {{BASE_BRANCH}} - **Project**: {{PROJECT}}这些字段不是装饰性信息它们决定 Claude 后续所有 git 操作的落点BRANCH_NAME功能分支名PSM 中由feature/feature_name的约定生成BASE_BRANCH创建该分支的基线分支来自项目别名配置的default_base通常是mainPROJECT项目别名如omc用于解析仓库地址与本地路径。Feature Scope小节则通过{{FEATURE_DESCRIPTION}}预留了功能描述的注入位置让 Agent 明确「要做什么、边界在哪里」。2. 开发方法论Development Approach模板按四个阶段约束 Claude 的工作节奏每个阶段都附有执行要点Plan——定义需求、拆分子任务、识别依赖关系Implement——遵循项目既有模式、编写干净可测试的代码、增量提交commit incrementallyTest——为新代码编写单元测试必要时补充集成测试并做手工验证Document——更新相关文档、按需添加代码注释、如适用则更新 CHANGELOG。这一「Plan → Implement → Test → Document」的顺序与 PSM 的会话命名一一对应omc:feat-name也与仓库倡导的「先设计后编码」工程实践一致。3. 可执行命令块Commands模板内置了一段可直接在 worktree 内执行的命令作为 Claude 的最低验证基线# Run tests npm test # or appropriate test command # Check build npm run build # or appropriate build command # Create PR when ready gh pr create --title Feature: {{FEATURE_NAME}} --body ## Summary\n\ndescription\n\n## Changes\n\n- change 1\n- change 2这里的关键是命令必须在该功能的隔离 worktree 内运行从而保证验证结果只反映当前功能分支的状态不会污染主工作区或其他并行会话。gh pr create直接生成了带有## Summary与## Changes结构的 PR 描述模板便于后续人工评审。4. 交付门禁Feature Checklist模板末尾用五条勾选项把「完成」定义得可验证Requirements understoodImplementation completeTests written and passingDocumentation updatedReady for PR这份自检清单实际上是让 Claude 在收尾前逐项确认而非直接宣称完成可有效减少因缺少测试或文档而被打回的往返。占位符注入模板渲染的源码级原理feature.md 本身只是静态文本真正让它生效的是 PSM 的模板渲染函数。渲染器位于 lib/tmux.sh核心实现为psm_render_templatepsm_render_template() { local template_file$1 shift # ... for assignment in $; do local key${assignment%%*} local value${assignment#*} # Bash parameter expansion handles multiline values safely content${content//\{\{${key}\}\}/$value} done printf %s\n $content }它接受「模板文件路径 若干KEYVALUE参数」用 Bash 参数展开把内容中的所有{{KEY}}一次性替换为实际值。以 PR 会话为例psm.sh 的cmd_review会把从gh pr view抓回的PR_NUMBER / PR_TITLE / PR_AUTHOR / PR_URL / HEAD_BRANCH / BASE_BRANCH / PR_BODY / CHANGED_FILES作为键值对注入 pr-review.md并把渲染结果写入 worktree 内的.psm/review.mdcmd_fix对 issue-fix.md 采用同样的处理落盘为.psm/fix.md。渲染失败时 PSM 只告警不中断Claude 会以无任务上下文的方式启动。从当前源码看cmd_featurepsm.sh 中走的是字面量提示词路径——它直接构造一句短促的启动提示发送给 Claudelocal feature_promptImplement feature \${feature_name}\ for project ${project}. Working branch: ${branch_name}. Build the feature, add tests, and open a PR when ready: gh pr create --title \feat: ${feature_name}\ psm_launch_claude $session_name $feature_prompt这意味着 feature.md 是一份面向功能会话的、结构完整的现成上下文模板其占位符FEATURE_NAME、BRANCH_NAME、BASE_BRANCH、PROJECT、FEATURE_DESCRIPTION与cmd_feature运行时持有的变量天然对应。你可以用同样的方式手工渲染它以获得更完整的任务注入——把模板复制为.psm/feature.md后执行等价渲染例如psm_render_template templates/feature.md \ FEATURE_NAMEadd-webhooks \ BRANCH_NAMEfeature/add-webhooks \ BASE_BRANCHmain \ PROJECTomc \ FEATURE_DESCRIPTIONAdd outbound webhook delivery with retry and HMAC signing得到的上下文文件会完整覆盖范围、流程、命令与检查清单信息密度远高于单行提示词。从模板到会话注入与启动链路无论走模板渲染还是字面量提示最终都会汇入 lib/tmux.sh 中的psm_launch_claude。该函数的行为决定了上下文如何真正进入 Claude在 tmux 会话中发送claude --dangerously-skip-permissions启动 Claude Code--dangerously-skip-permissions用于跳过目录信任询问与逐工具授权弹窗避免无人值守会话卡死在首次工具调用上对应 issue #2508若传入的是 worktree 内可解析到的上下文文件如.psm/review.md则调用psm_inject_prompt先通过psm_wait_for_claude_prompt轮询 pane 内容直到出现 Claude 的 REPL 提示符再以字面量模式-l防止 tmux 误解按键发送一句触发词Read context_file for full task context, then begin.【免费下载链接】oh-my-claudecodeTeams-first Multi-agent orchestration for Claude Code项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-claudecode创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考