Skip to content

Add AGENTS.md agent guidance - #1130

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

Add AGENTS.md agent guidance#1130
tashian wants to merge 3 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
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

Comment thread AGENTS.md
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?

Comment thread AGENTS.md
## 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

Comment thread AGENTS.md
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.

Comment thread AGENTS.md
`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

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