|
| 1 | +# AGENTS.md |
| 2 | + |
| 3 | +This file provides guidance to coding agents (e.g. Claude Code, claude.ai/code) when working with code in this repository. |
| 4 | + |
| 5 | +## Repository purpose |
| 6 | + |
| 7 | +Go module `go.bytebuilders.dev/client` — the Go SDK for the [ByteBuilders](https://byte.builders) (b3) cloud platform API. Library only; consumed by ACE-side controllers, internal admin tools, and integration tests. |
| 8 | + |
| 9 | +Note: the GitHub repo is `bytebuilders/client-go`, but the Go module path is `go.bytebuilders.dev/client` (no `-go`). Use the module path in imports. |
| 10 | + |
| 11 | +## Architecture |
| 12 | + |
| 13 | +- Top-level Go files: `client.go` (`Client` constructor + HTTP plumbing), `auth.go` (auth helpers), `cluster.go` (cluster API), `ace_license.go` (license endpoints), plus matching `_test.go` files for each. |
| 14 | +- `api/` — generated request/response types for the b3 API. |
| 15 | +- `examples/` — usage samples. |
| 16 | +- `hack/` — codegen / linting helpers. |
| 17 | +- `doc.go` — package documentation. |
| 18 | + |
| 19 | +This is a **library**: no binaries, no Docker images. |
| 20 | + |
| 21 | +## Common commands |
| 22 | + |
| 23 | +- `make ci` — full CI pipeline. |
| 24 | +- `make fmt`, `make lint`, `make unit-tests` / `make test` — standard. |
| 25 | +- `make verify` — codegen + module-tidy verification. |
| 26 | +- `make add-license` / `make check-license` — manage license headers. |
| 27 | + |
| 28 | +Run a single Go test: |
| 29 | + |
| 30 | +``` |
| 31 | +go test . -run TestName -v |
| 32 | +``` |
| 33 | + |
| 34 | +## Conventions |
| 35 | + |
| 36 | +- Module path is `go.bytebuilders.dev/client` (vanity URL, **not** `client-go`); imports must use that. |
| 37 | +- License: see `LICENSE`. Sign off commits (`git commit -s`); contributions follow the DCO (`DCO`). |
| 38 | +- Every exported symbol is API — don't break downstream consumers (`b3`, ACE controllers) without coordinating. |
| 39 | +- `Client` methods follow the resource-noun + verb pattern; new resource families go in their own top-level file (`cluster.go`, `auth.go`, …) plus matching types under `api/`. |
| 40 | +- The README badges point at `byte.builders` — the consumer-facing product brand stays even if internal names drift. |
0 commit comments