docs(agents): minor AGENTS.md updates

Christian Rocha created

Change summary

AGENTS.md | 29 +++++++++++++++++++++++++++++
CRUSH.md  | 29 -----------------------------
2 files changed, 29 insertions(+), 29 deletions(-)

Detailed changes

AGENTS.md 🔗

@@ -0,0 +1,29 @@
+# Fantasy Development Guide
+
+## Commands
+
+- **Build**: `go build ./...`
+- **Test all**: `task test` or `go test ./... -count=1 -timeout=30m`
+- **Test single**: `go test -run TestName ./package -v`
+- **Lint**: `task lint` or `golangci-lint run`
+- **Lint fix**: `task lint:fix`
+- **Format**: `task fmt` (uses `gofumpt`, not `gofmt`)
+
+## Style Notes
+
+- Prefer `cmp.Or` for defaults
+- Struct tags `json`, `description`, `enum` drive schema generation
+- `charm.land/x/vcr` for HTTP test recording (not go-vcr)
+
+## Project Layout
+
+- `/` — Core package `fantasy`: Provider, LanguageModel, Agent, Content, Tool, errors, retry
+- `/providers/{openai,anthropic,google,bedrock,azure,openrouter,openaicompat,vercel,kronk}`
+- `/object` — Typed structured outputs: `object.Generate[T]`, `object.Stream[T]`
+- `/schema`, `/jsonrepair` — JSON schema generation and repair utilities
+- `/providertests` — Integration tests with VCR cassettes in `testdata/`
+
+## Testing
+
+- Env vars: `FANTASY_<PROVIDER>_API_KEY`, loaded from `.env` via godotenv
+- VCR recorder injected as `http.Client` transport

CRUSH.md 🔗

@@ -1,29 +0,0 @@
-# CRUSH.md - Fantasy AI SDK
-
-## Build/Test/Lint Commands
-- **Build**: `go build ./...`
-- **Test all**: `task test` or `go test ./... -count=1`
-- **Test single**: `go test -run TestName ./package -v`
-- **Test with args**: `task test -- -v -run TestName`
-- **Lint**: `task lint` or `golangci-lint run`
-- **Format**: `task fmt` or `gofmt -s -w .`
-- **Modernize**: `task modernize` or `modernize -fix ./...`
-
-## Code Style Guidelines
-- **Package naming**: lowercase, single word (ai, openai, anthropic, google)
-- **Imports**: standard library first, then third-party, then local packages
-- **Error handling**: Use custom error types with structured fields, wrap with context
-- **Types**: Use type aliases for function signatures (`type Option = func(*options)`)
-- **Naming**: CamelCase for exported, camelCase for unexported
-- **Constants**: Use const blocks with descriptive names (ProviderName, DefaultURL)
-- **Structs**: Embed anonymous structs for composition (APICallError embeds *AIError)
-- **Functions**: Return error as last parameter, use context.Context as first param
-- **Testing**: Use testify/assert, table-driven tests, recorder pattern for HTTP mocking
-- **Comments**: Godoc format for exported functions, explain complex logic inline
-- **JSON**: Use struct tags for marshaling, handle empty values gracefully
-
-## Project Structure
-- `/ai` - Core AI abstractions and agent logic
-- `/openai`, `/anthropic`, `/google` - Provider implementations
-- `/providertests` - Cross-provider integration tests with VCR recordings
-- `/examples` - Usage examples for different patterns