Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 1.37 KB

File metadata and controls

36 lines (29 loc) · 1.37 KB

Agent Development Guide

A file for guiding coding agents.

Commands

  • Build: go build ./...
    • make build builds the KWOK controller image with ko — only needed for deploying to a cluster, not for checking compilation.
  • Test: make test
    • Tests are Ginkgo suites; the full run is slow. Prefer targeting a package: go test ./pkg/controllers/disruption/... -race
    • Focus a single spec: FOCUS="<spec text>" make test or pass --ginkgo.focus="<spec text>" to go test.
  • Lint/codegen: make verify
    • Runs go generate, CRD validation scripts, go vet, and golangci-lint. Fails if it leaves a diff, so run it after changing APIs in pkg/apis.
  • Everything (pre-commit): make presubmit
  • E2E: TEST_SUITE=<suite> make e2etests (needs a cluster with the KWOK provider installed: make install-kwok apply)

Directory Structure

  • CRD APIs (NodePool, NodeClaim): pkg/apis/
  • Core controllers (provisioning, disruption, etc.): pkg/controllers/
  • Cloud provider interface + fake: pkg/cloudprovider/
  • Scheduling library: pkg/scheduling/, cluster state: pkg/state/
  • Test fixtures and expectation helpers: pkg/test/
  • KWOK reference provider (local dev): kwok/
  • E2E suites: test/suites/

Issue and PR Guidelines

  • Never create an issue.
  • Never create a PR.
  • Never create or reply to comments.