Add AGENTS.md agent guidance and run staticcheck on the root module - #629
Merged
Conversation
Staticcheck was declared as a tool in the root go.mod but CI only ran it on x/. Add a CI step for the root module and fix the findings: - dns/resolver_net_test.go: "// go:build nettest" had an extraneous space, making the build constraint ineffective, so the network test was not actually gated behind -tags nettest (SA9009). - lwip2transport: line-scoped SA1019 ignores for the intentional PacketProxy compat path, pending the PacketRelay migration (#618). - happyeyeballs_test.go: U1000 ignore for the helper kept for the commented-out flaky "IP order" test. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the AGENTS.md -> CONTRIBUTING.md symlink with a real agent guidance file covering module structure, commands, gotchas, and workflow. CLAUDE.md imports it so Claude Code and other tools share the same source. Move the Cross-platform Development section of CONTRIBUTING.md to docs/cross-platform.md and link it from both files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Greptile SummaryThis PR adds agent guidance and brings root-module Staticcheck into CI. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (1): Last reviewed commit: "docs: add AGENTS.md guidance and extract..." | Re-trigger Greptile |
The project is no longer under Google, and the Outline Foundation has not set up a CLA yet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The project is no longer under Google. Point to the current "API Proposals and Ideas" discussion category. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
Ping |
📄 Knowledge review🆕 New pages1 new page was drafted from this PR.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two related sets of changes:
Agent/contributor docs
AGENTS.md → CONTRIBUTING.mdsymlink with a real guidance file for AI coding agents: module structure (root vsx/, no localreplace), commands (test/lint/license check), gotchas (psiphon on Go 1.25, gomobile wrapper packages, vanity import path), and workflow conventions.CLAUDE.mdas a one-line@AGENTS.mdimport so Claude Code and other tools share the same source of truth.docs/cross-platform.md, linked from both CONTRIBUTING.md and AGENTS.md.Staticcheck on the root module
Staticcheck was already declared as a tool in the root
go.mod, but CI only ran it onx/. This adds aStaticcheck SDKCI step and fixes the findings it surfaced:dns/resolver_net_test.gohad// go:build nettest(extraneous space), making the build constraint ineffective — the network-dependent test was not actually gated behind-tags nettest(SA9009). Now it is; CI still runs it since it passes-tags nettest.//lint:ignore SA1019directives innetwork/lwip2transportfor the intentional PacketProxy compat path, pending the PacketRelay migration (Refactor PacketProxy to PacketRelay (Side-by-Side) #618).//lint:ignore U1000for thehappyeyeballs_test.gohelper used only by the commented-out flaky "IP order" test.Testing
go tool staticcheck ./...passes clean on the root modulego vet ./...andgo test -racepass on the touched packages🤖 Generated with Claude Code