Files
jackwener 077a54cbfe Initial commit: wx-cli again
Fresh start from botiverse/wx-cli (working tree at main, no prior history).
2026-09-14 15:43:35 +08:00

35 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# wx-cli Agent Rules
## 每次改完代码后必须做的事
1. **`cargo check`** — 改任何 `.rs` 文件后立刻运行,不通过不提交
2. **改了跨平台代码时加运行跨平台 check:**
```bash
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 规则
- remote 名称:`origin` → `git@github.com:botiverse/wx-cli.git`SSH
- 不要使用已 DMCA 的 `jackwener/wx-cli`
- 每次 commit 后立刻 push(默认分支 `main`
- 打 tag 用 `git tag vX.Y.Z && git push origin vX.Y.Z`