Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 1.92 KB

File metadata and controls

43 lines (35 loc) · 1.92 KB

wx-cli Agent Rules

每次改完代码后必须做的事

  1. cargo check — 改任何 .rs 文件后立刻运行,不通过不提交
  2. 改了跨平台代码时加运行跨平台 check:
    cargo check --target x86_64-unknown-linux-gnu
    cargo check --target x86_64-pc-windows-msvc
  3. 改了 Cargo.toml 版本号时: cargo update --workspace

禁止行为

  • 不能在 cargo check 失败的情况下 commit
  • 不能只在 macOS 本地 check 就认为跨平台没问题
  • 不能改完 Cargo.toml 不更新 Cargo.lock 就打 tag

常见陷阱

陷阱 正确做法
libc::__error()#[cfg(unix)] std::io::Error::last_os_error()
把通用 dep 放到 [target.cfg(windows).dependencies] 后面 TOML section 是贪婪的,通用 dep 必须在 target section 之前
改版本号忘更新 Cargo.lock cargo update --workspace
Windows 代码用 trait method 忘 import trait use std::os::windows::process::CommandExt
#[cfg(windows)] 里引用了未定义的函数 跨平台 check 会发现

分支与 Push 规则

  • main 保持和原版 jackwener/wx-cli 一致,只从 origin/main fast-forward 更新,不承载 DeepMem 定制改动。
  • deepmem-main 是 DeepMem 定制主分支,所有 DeepMem 功能和修复最终合入这里。
  • feature / fix 分支从 deepmem-main 切出,完成后合回 deepmem-main
  • deepmem-main 需要定期合入 main,用于吸收原版上游改动;不要 rebase 已发布的 deepmem-main
  • remote 名称:
    • origin = 原版 jackwener/wx-cli
    • deepmem = DeepMemLabs fork,使用 SSH,push 目标
  • 每次 commit 后立刻 push 到 deepmem
  • DeepMem release tag 用 git tag deepmem-<upstream_version>-<deepmem_version> && git push deepmem deepmem-<upstream_version>-<deepmem_version>。 上游 vX.Y.Z tag 只用于区分原版上游 release。