* docs: add Go code quality & security checks and bump Go version to 1.26+
* docs: address CodeRabbit review comments and use pinned versions and Go 1.26.5+
* docs: remove trailing blank lines at end of AGENTS.md
* docs: add missing /v2/ segment to golangci-lint install path
The go install command pointed at the v1 module path
(golangci-lint/cmd/golangci-lint), which does not resolve for
v2.12.2. The go run invocation earlier in the same section already
had the correct v2 path.
* docs: trim AGENTS.md below 8 KiB guideline and clean up README cross-compile header
* docs: address CodeRabbit review feedback on extending guide
* Add-user-ZERO-guidelines-to-system-prompt
* fix(agent): resolve user ZERO.md under config.UserConfigDir()/zero
Review feedback: every other user-level config (config.json, commands,
specialists) lives under config.UserConfigDir()/zero, so the per-user
guidelines file now resolves there instead of ~/.zero. The basename match
is case-insensitive to mirror the project guideline loader.
Co-Authored-By: Claude Fable 5 <[email protected]>
* refactor(agent): extract shared guideline truncation and lookup helpers
CodeRabbit review feedback: the rune-safe truncation block and the
case-insensitive basename scan were duplicated across the project and
user guideline loaders. Extract truncateGuidelineContent and
findCaseInsensitiveFile and use them in both paths.
Co-Authored-By: Claude Fable 5 <[email protected]>
* fix(agent): keep truncated guideline content within the byte limit
CodeRabbit review feedback: truncateGuidelineContent appended the
truncation marker after slicing to the limit, so the result could
exceed the requested budget by the marker length. Reserve space for
the marker before choosing the cut point.
Co-Authored-By: Claude Fable 5 <[email protected]>
* fix(agent): fix small-limit truncation, precedence, and test isolation for user guidelines
Address remaining review feedback on PR #475:
- truncateGuidelineContent still exceeded the limit when limit was
smaller than the truncation marker itself. Fall back to a hard,
rune-safe cut with no marker in that case so the result never
exceeds the caller's budget.
- Reorder buildSystemPrompt so user guidelines are injected before
workspace/project guidelines, and add an explicit precedence note
in the user guidelines section text, so a repo's AGENTS.md/ZERO.md
is the later, more specific instruction and wins on conflict.
- Add a TestMain in the agent package that stubs userConfigDirForPrompt
to an empty temp directory by default, so buildSystemPrompt(Options{})
calls in unrelated tests don't pick up a contributor's real
~/.config/zero/ZERO.md.
- Document the per-user ZERO.md location and its precedence relative
to project guidelines in AGENTS.md.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
---------
Co-authored-by: Claude Fable 5 <[email protected]>