cmd/entrypoints for CNI plugin, controller, daemon, and helpers; binaries land indist/images/via Make targets.pkg/shared Go libraries;fastpath/andversions/hold data-plane helpers and release metadata.charts/Helm chart,yamls/and top-level*-sa.yamlmanifest examples;docs/product docs.hack/CI/dev scripts;makefiles/split build/test logic;test/containsunittest,e2e,performance, and fixtures.
make build-go– tidy modules and compile Go binaries for linux/amd64 intodist/images/.make lint– rungolangci-lintplus Go “modernize”; auto-fixes when not in CI.make ut– run unit tests: Ginkgo suites intest/unittestandgo testwith coverage forpkg.
- Every time after editing code. MUST run
make lintto detect and fix potential lint issues. - When modifying code, try to clean up any related code logic that is no longer needed.
- Follow
CODE_STYLE.md: camelCase identifiers, keep functions short (~100 lines), return/log errors instead of discarding, and preferif err := ...; err != nilpatterns.
- Plan first: clarify any uncertainties and confirm the approach before making changes.
- Add unit tests to cover the new feature.
- When adding end-to-end (e2e) tests for the new feature, use
f.SkipVersionPriorToto ensure they run only on supported branches.
- Analyze the issue first and identify the root cause. Confirm the analysis before making edits.
- Check if the same bug pattern exists elsewhere in the codebase.