跳到主要内容

贡献指南

Contributions 应保留 Anyy 的产品身份:resident、local-first、多 surface 个人助理。

不要把产品收窄成 router manager、Linux operations agent、package manager add-on,或单 surface CLI assistant。

开发环境

Go commands 在 repository root 运行。Docs site 位于 docs-site,使用 Docusaurus。

代码变更先运行 focused package tests。Docs changes 从 docs-site 运行 npm run build

代码风格

优先使用现有 package patterns 和 narrow edits。非 generated、非 test 的 Go files 保持在 500 physical lines 以内。

不要把 runtime concerns 移入 internal/agent。使用 interfaces 和 runtime injection。

测试

常用 checks:

go test ./...
go vet ./...
make check-lines
make smoke-local

Docs-only changes 通常以 git diff --checknpm run build 作为 baseline。

文档变更

当 public commands、config fields、RPC methods、tool schemas、event payloads、channel behavior 或 setup flows 改变时,同步更新 docs。

English 和 zh-CN pages 应保持一致。不要把没有代码和 tests 支撑的功能写成完成。

Review Checklist

Handoff 前检查 architecture boundaries、redaction、tests、config docs 和 user-facing wording。

如果 behavior、public APIs、event payloads 或 tool semantics 改变,更新 docs/superpowers/specs/ 中相关 spec 或 contract。