Skip to content

Add AGENTS.md agent guidance - #1130

Open
tashian wants to merge 5 commits into
masterfrom
carl/eff-787-claude-md
Open

tashian wants to merge 5 commits into
masterfrom
carl/eff-787-claude-md

Conversation

@tashian

@tashian tashian commented Sep 10, 2026

Copy link
Copy Markdown
Member

Name of feature:

Adds a AGENTS.md with agent guidance for this repository. It covers the package map, the kms backend registry and per-backend cgo/platform build tags, TPM simulator testing, generated files, the Makefile test/lint targets, and the error-wrapping and testing conventions in use.

Supporting links/other PRs/issues:

.claude/CLAUDE.md is a one-line @../AGENTS.md import so Claude Code loads the same file.

Tracks EFF-787.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JuSZFSx1cTEnqY55oquacV

Document the package map, KMS backend registry and build tags (cgo and
platform requirements per backend), TPM simulator testing, generated
files, test/lint commands, and error and testing conventions for agents
working in this repository.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuSZFSx1cTEnqY55oquacV
AGENTS.md is the vendor-neutral file read by other coding agents. Claude
Code does not read it natively, so CLAUDE.md becomes a one-line
@AGENTS.md import that loads the same content.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuSZFSx1cTEnqY55oquacV
@tashian tashian changed the title Add CLAUDE.md agent guidance Add AGENTS.md agent guidance Sep 10, 2026
@tashian
tashian enabled auto-merge (squash) September 10, 2026 16:21
Per review: keep the repo root to AGENTS.md and put the Claude Code
import stub under .claude/, importing @../AGENTS.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuSZFSx1cTEnqY55oquacV

@maraino maraino left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will need some changes after the tools PR

Comment thread AGENTS.md Outdated
library only, no binaries: X.509 and SSH certificate templating, key generation and
PEM/JWK handling, a pluggable KMS abstraction (software, AWS, GCP, Azure, PKCS #11,
YubiKey, ssh-agent, TPM, macOS Keychain, Windows CAPI), and TPM 2.0 attestation.
[`step`](https://github.com/smallstep/cli) and [`step-ca`](https://github.com/smallstep/certificates)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could mention step-kms-plugin too

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added step-kms-plugin alongside step and step-ca in the consumers sentence.

Comment thread AGENTS.md Outdated
Comment on lines +13 to +14
exported APIs backward compatible. `go.mod` requires Go 1.26; CI tests `stable` and
`oldstable`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose Claude knows, but should we clarify what stable and oldstable means?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarified: stable is the newest Go release, oldstable the previous minor, and code must build on both.

Comment thread AGENTS.md Outdated
## Commands

```bash
make bootstrap # install golangci-lint, govulncheck, gotestsum into $(go env GOPATH)/bin

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will be using go tools with #1131

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated for #1131: the bootstrap line is gone (the target is now a no-op) and every command is described as running through go tool from the go.mod tool block.

Comment thread AGENTS.md Outdated
CGO_ENABLED=1 go test -tags tpmsimulator -run TestTPM_CreateAK ./tpm/
```

`make test` and `make race` need `gotestsum` on `PATH`; `make lint` needs network

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need gotestsum with go tools, we will need network.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworded: nothing to install, but the first go tool invocation downloads the tool modules over the network, and make lint always needs network for .golangci.yml.

Comment thread AGENTS.md Outdated
`internal/templates` FuncMap (sprig plus `toTime`, `formatTime`, etc.); the `fail`
function surfaces user-visible template errors. The `Default*Template` constants are
consumed verbatim by `step-ca` provisioners, so changing them is a behavior change.
- **Imports**: `goimports -local go.step.sm/crypto`; lint rules come from the shared

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will use go tools

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now reads make fmt (go tool goimports -local go.step.sm/crypto).

tashian and others added 2 commits September 15, 2026 09:48
Tools now come from go.mod tool directives, so drop the bootstrap step
and route commands through `go tool`; name step-kms-plugin as a consumer;
define stable/oldstable.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RKCkbjJakXqQXEyeCQcVjf
@tashian
tashian requested a review from maraino September 15, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants