# Redpanda Console Go backend (`backend/`) + React 19 single-page app (`frontend/`) sharing a protobuf API contract (`proto/`). Builds and tooling are driven by [Task](https://taskfile.dev/) 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](backend/AGENTS.md) | | `frontend/**` | [frontend/AGENTS.md](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](.github/copilot-instructions.md) and [CONTRIBUTING.md](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/`. ```bash 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