Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 2.84 KB

AGENTS.md

File metadata and controls

69 lines (52 loc) · 2.84 KB

Redpanda Console

Go backend (backend/) + React 19 single-page app (frontend/) sharing a protobuf API contract (proto/). Builds and tooling are driven by Task from the repository root.

Which rules apply where

Read the nearest file to what you are changing. The nested files own their area; this file only routes.

You are changing Read
backend/** backend/AGENTS.md
frontend/** frontend/AGENTS.md
proto/** this file, plus buf.yaml and taskfiles/proto.yaml
root config, taskfiles/**, .github/** this file
commit messages, PR description, review .github/copilot-instructions.md and CONTRIBUTING.md

Commands

Backend and proto commands run from the repository root via task. The ./taskw wrapper pins the Go toolchain and helper binaries under build/.

task backend:fmt            # format
task backend:lint           # golangci-lint
task backend:test-unit      # unit tests
task backend:test-integration   # unit + integration (needs Docker)
task backend:verify         # lint + generate + integration tests
task proto:lint             # buf lint
task proto:generate         # regenerate backend + frontend protogen

Frontend commands run from frontend/ via bun run <script>.

Never edit (generated or vendored)

  • backend/pkg/protogen/ and frontend/src/protogen/ (regenerate with task proto:generate)
  • frontend/src/routeTree.gen.ts (TanStack Router)
  • frontend/src/components/redpanda-ui/ (UI Registry, sourced from redpanda-data/ui-registry)
  • build/ (pinned toolchain)

Enterprise boundary

This repository is the OSS foundation. console-enterprise imports github.com/redpanda-data/console/backend and extends it through the hooks system in backend/pkg/api/hooks.go, which lets it add interceptors, change routes, and replace service implementations.

Features that live behind those hooks (authentication, RBAC, secret management, shadow links, pipelines, debug bundles) cannot be exercised from this repository alone. To test an OSS change against enterprise, add a replace directive in console-enterprise/backend/go.mod:

replace github.com/redpanda-data/console/backend => /path/to/console/backend

Proto changes

proto/ is published to the Buf Schema Registry as buf.build/redpandadata/dataplane. A change here is an API contract change:

  1. Edit the .proto file.
  2. task proto:lint && task proto:format
  3. task proto:generate and commit the generated output. proto-generate.yml fails the PR if generated code is out of date.
  4. Breaking-change detection runs in CI. Some alpha packages are exempt; check the ignore list in buf.yaml before assuming yours is. Everything else is wire-compatible-only.