Skip to content

Commit b67d355

Browse files
authored
Add AGENTS.md (#32)
Signed-off-by: Tamal Saha <tamal@appscode.com>
1 parent 4646fc0 commit b67d355

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

Comments
 (0)