herdr
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHerdr development
Herdr 开发
Commands
命令
Prefer (see root ):
justjustfilebash
just lint # fmt check + clippy -D warnings
just test # nextest + python maintenance + bun suites
just check # ci + windows-lint + maintenance tests
just test-one <filter>
cargo build # or cargo run -- <cmd>Cursor Cloud: if local // is blocked by hooks, validate via GitHub Actions ().
cargozigjust test|check|lintgh pr checks优先使用 (参见根目录的 ):
justjustfilebash
just lint # fmt check + clippy -D warnings
just test # nextest + python maintenance + bun suites
just check # ci + windows-lint + maintenance tests
just test-one <filter>
cargo build # or cargo run -- <cmd>Cursor Cloud:如果本地 // 被 hooks 阻止,请通过 GitHub Actions 进行验证()。
cargozigjust test|check|lintgh pr checksInvariants
约束条件
From — do not violate:
AGENTS.md- pure; no PTY required for state tests
AppState - never mutates state
render() - Platform code only under
src/platform/ - Detection reads snapshots only; evidence-based manifests
- Server owns runtime facts; TUI owns presentation only
来自 ——不得违反:
AGENTS.md- 保持纯粹;状态测试不需要 PTY
AppState - 绝不改变状态
render() - 平台代码只能放在 下
src/platform/ - 检测只读取快照;使用基于证据的清单
- Server 负责运行时事实;TUI 只负责呈现
Tests
测试
- Unit tests beside code ()
#[cfg(test)] - /
AppState::test_new()Workspace::test_new() - Identity refactors: + adversarial helpers
assert_invariants_for_test()
- 单元测试与代码相邻()
#[cfg(test)] - /
AppState::test_new()Workspace::test_new() - Identity 重构:+ 对抗性辅助函数
assert_invariants_for_test()
Commits
提交
Lowercase conventional commits. Issue body line: (not /). No AI co-author trailers.
refs #<n>fixescloses使用小写的 Conventional Commits。Issue 正文行:(不要使用 /)。不要添加 AI 共同作者尾注。
refs #<n>fixesclosesDocs
文档
- Stable:
website/src/content/docs/ - Unreleased:
docs/next/website/src/content/docs/ - Do not hand-edit / preview channel files unless release work
website/latest.json
- 稳定版:
website/src/content/docs/ - 未发布版:
docs/next/website/src/content/docs/ - 除非进行发布工作,否则不要手动编辑 或预览频道文件
website/latest.json
Source run
运行源码
bash
env -u HERDR_SOCKET_PATH -u HERDR_CLIENT_SOCKET_PATH cargo run -- <command>Headless: + CLI/socket. TUI needs a real TTY.
./target/debug/herdr serverbash
env -u HERDR_SOCKET_PATH -u HERDR_CLIENT_SOCKET_PATH cargo run -- <command>无头模式: + CLI/socket。TUI 需要真实的 TTY。
./target/debug/herdr serverDetection loop
检测流程
- (+
herdr agent read <pane> --source detection --format textif needed)ansi - Edit
src/detect/manifests/<agent>.toml - Optional override +
herdr server reload-agent-manifests - Remove override when done
- (如需要则加上
herdr agent read <pane> --source detection --format text)ansi - 编辑
src/detect/manifests/<agent>.toml - 可选:覆盖配置 +
herdr server reload-agent-manifests - 完成后移除覆盖配置
CHEF fleet
CHEF fleet
For Linear/GitHub/UDO/Kater, Fleet Ops Bar, and plugins, use the chef-fleet skill (). UI dismiss rules and bar presentation live in herdr-ui.
com.chefgroep.*.cursor/skills/chef-fleet/SKILL.md对于 Linear/GitHub/UDO/Kater、Fleet Ops Bar 以及 插件,请使用 chef-fleet skill()。UI 关闭规则和栏位呈现位于 herdr-ui 中。
com.chefgroep.*.cursor/skills/chef-fleet/SKILL.mdExternal contributors
外部贡献者
If GitHub account is not , follow . Agents must not open GitHub issues on a human’s behalf.
GroepOnlineCONTRIBUTING.md如果 GitHub 账号不是 ,请遵循 。Agent 不得代表人类创建 GitHub issue。
GroepOnlineCONTRIBUTING.md