Skip to content

Local Development

Prerequisites

  • Go 1.25+
  • Docker
  • kind
  • Helm 3
  • kubectl

Quick start

The dev target handles everything:

make dev

This creates a Kind cluster, builds all images, loads them, and installs the Helm chart.

Step by step

make kind-create          # create Kind cluster
make docker-build-all     # build all images
make kind-load            # load images into Kind
make helm-install         # install via Helm

Create credentials and test

kubectl create secret generic factory-creds \
  --from-literal=ANTHROPIC_API_KEY=sk-ant-... \
  --from-literal=GITHUB_TOKEN=ghp_...

kubectl apply -f examples/task-basic.yaml
kubectl get st -w

Running tests

make test                 # unit tests (uses envtest)
make test-e2e             # e2e tests (creates Kind cluster automatically)

Linting

make lint                 # run golangci-lint with custom plugins
make lint-fix             # auto-fix what's possible

Regenerating after type changes

After editing api/v1alpha1/*_types.go or kubebuilder markers:

make manifests            # regenerate CRDs and RBAC
make generate             # regenerate DeepCopy methods

Cleanup

make helm-uninstall       # remove Helm release
make kind-delete          # delete Kind cluster