Skip to content

Commit 5d53d5d

Browse files
Development environment setup (#122)
Create `AGENTS.md` to document development environment setup and production testing workflow. --- <p><a href="https://cursor.com/agents/bc-e29c0fd4-d9e7-4ed5-bacc-e632330b2d1e"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/background-agent?bcId=bc-e29c0fd4-d9e7-4ed5-bacc-e632330b2d1e"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</p> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 53a0e3d. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Mason Williams <masnwilliams@users.noreply.github.com>
1 parent f4fdc8a commit 5d53d5d

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Kernel CLI
2+
3+
## Cursor Cloud specific instructions
4+
5+
This is a Go CLI application (no long-running services). Development commands are in the `Makefile`:
6+
7+
- **Build:** `make build` → produces `./bin/kernel`
8+
- **Test:** `make test` → runs `go vet` + `go test ./...`
9+
- **Lint:** `make lint` → runs `golangci-lint run` (requires `golangci-lint` on `PATH`)
10+
11+
### Testing against production
12+
13+
When `KERNEL_API_KEY` is set (provided as a secret), the CLI hits the **production** Kernel API. After `make build`, test with `./bin/kernel`. Useful smoke-test sequence:
14+
15+
1. `./bin/kernel auth status` — verify auth
16+
2. `./bin/kernel app list` — list deployed apps
17+
3. `./bin/kernel browsers create` — create a browser session (remember to delete it after)
18+
4. `./bin/kernel browsers delete <session_id>` — clean up
19+
20+
Be mindful that these operations affect production resources.
21+
22+
### Gotchas
23+
24+
- `golangci-lint` is installed via `go install` to `$(go env GOPATH)/bin`. This directory must be on `PATH` (the update script handles this via `.bashrc`).
25+
- The Makefile's `lint` target uses `|| true`, so it always exits 0 even when lint issues exist. Pre-existing lint warnings (errcheck, staticcheck) are present in the codebase and expected.
26+
- The `go-keyring` dependency requires D-Bus and `libsecret` on Linux. These are pre-installed in the Cloud VM.
27+
- `kernel create` works locally without authentication. Most other commands (`deploy`, `invoke`, `browsers`, etc.) require a `KERNEL_API_KEY` env var or `kernel login` OAuth flow.
28+
- Go module path is `github.com/kernel/cli`. The project requires Go 1.25.0 (specified in `go.mod`).

0 commit comments

Comments
 (0)