Contributing
Contributions should preserve Anyy's product identity: a resident, local-first, multi-surface personal assistant.
Do not narrow the product into a router manager, Linux operations agent, package manager add-on, or single-surface CLI assistant.
Development Environment
Use the repository root for Go commands. The docs site lives under docs-site
and uses Docusaurus.
For code changes, start with focused package tests. For docs changes, run
npm run build from docs-site.
Code Style
Prefer existing package patterns and narrow edits. Keep non-generated, non-test Go files at or below 500 physical lines.
Do not move runtime concerns into internal/agent. Use interfaces and runtime
injection instead.
Tests
Common checks are:
go test ./...
go vet ./...
make check-lines
make smoke-local
For docs-only changes, git diff --check and npm run build are usually the
right baseline.
Documentation Changes
Update docs when public commands, config fields, RPC methods, tool schemas, event payloads, channel behavior, or setup flows change.
English and zh-CN pages should stay aligned. Do not document features as complete unless code and tests support them.
Review Checklist
Before handoff, check architecture boundaries, redaction, tests, config docs, and user-facing wording.
If behavior, public APIs, event payloads, or tool semantics changed, update the
relevant spec or contract in docs/superpowers/specs/.