Contributing

August 16, 2026 · View on GitHub

感谢参与 DeDge DeepSeek Harness。提交前请先确认问题属于扩展、打包或兼容层,而不是自定义 endpoint、工作区脚本或未修改的上游 Harness 行为。

Development Environment

  • Git
  • VS Code 1.96.0+
  • 带 Corepack 的受支持 Node.js 22
  • 固定 pnpm 11.21.0
corepack pnpm@11.21.0 install --frozen-lockfile
corepack pnpm@11.21.0 run typecheck
corepack pnpm@11.21.0 test
corepack pnpm@11.21.0 run build

依赖和上游 runtime 版本必须在 package.json 与 pnpm-lock.yaml 中固定。扩展激活代码不得运行包管理器、克隆仓库或修改全局环境。

Repository Boundaries

  • src/config:设置读取与校验。
  • src/security:SecretStorage 凭据。
  • src/platform:存储布局和结构化日志。
  • src/runtime:运行时解析、启动、诊断和停止。
  • src/gateway:HTTP/WebSocket 协议边界。
  • src/session:会话状态与事件投影。
  • src/context:有界编辑器上下文。
  • src/handoff:只读发现与隔离交接。
  • src/ui:Webview 协议和界面。
  • test:对应核心边界的测试。
  • scripts:构建、审计、打包和清理。

新增抽象应落在已有所有权边界内。不要把 shell 字符串生成、凭据持久化或外部会话写入塞进 UI 模块。

Privacy and Test Data

所有测试夹具必须使用合成名称、路径、会话和 Token。禁止提交:

  • .env、.npmrc、私钥、证书容器或真实 endpoint 凭据;
  • .codex、.claude、Harness home、JSONL、日志或交接包;
  • 本机用户名、绝对工作区路径、内部主机名、真实会话内容;
  • node_modules、dist、out、.tmp、Playwright 或测试输出。

发布审计只报告匹配规则与文件路径,不要修改它去打印命中内容。

Change Checklist

corepack pnpm@11.21.0 run audit:release
corepack pnpm@11.21.0 run typecheck
corepack pnpm@11.21.0 test
corepack pnpm@11.21.0 run build

涉及 bundled runtime、native binary、平台兼容或发布边界时还必须运行:

corepack pnpm@11.21.0 run prepare:runtime
corepack pnpm@11.21.0 run smoke:runtime
corepack pnpm@11.21.0 run package:platform

UI 变化应在 240px、320px、420px 和常规侧边栏宽度验证,不得出现文字溢出、菜单越界或控件重叠。Windows 进程变化应覆盖空格、Unicode、长路径、PowerShell 5.1/7 和取消/停止。

Pull Requests

  • 一个 PR 只处理一个清晰问题。
  • 行为变化需要测试,用户可见变化需要更新 README 或 CHANGELOG。
  • 上游版本变化同时更新兼容性、参考来源、第三方许可和 runtime audit。
  • 不提交打包后的 VSIX;Release 资产由发布流程上传。
  • PR 描述中说明验证平台和未验证边界。

完整发布门禁见 docs/RELEASING.md