- Update all Go dependencies to latest versions - Migrate from github.com/google/generative-ai-go/genai to google.golang.org/genai - Fix google.go to use the new SDK API (NewPartFromText, NewContentFromParts, etc.) - Update schema package imports to use the new genai package - Add CLAUDE.md with README maintenance guideline Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
CLAUDE.md for go-llm
Build and Test Commands
- Build project:
go build ./... - Run all tests:
go test ./... - Run specific test:
go test -v -run <TestName> ./... - Tidy dependencies:
go mod tidy
Code Style Guidelines
- Indentation: Use standard Go tabs for indentation.
- Naming:
- Use
camelCasefor internal/private variables and functions. - Use
PascalCasefor exported types, functions, and struct fields. - Interface names should be concise (e.g.,
LLM,ChatCompletion).
- Use
- Error Handling:
- Always check and handle errors immediately.
- Wrap errors with context using
fmt.Errorf("%w: ...", err). - Use the project's internal
Errorstruct inerror.gowhen differentiating between error types is needed.
- Project Structure:
llm.go: Contains core interfaces (LLM,ChatCompletion) and shared types (Message,Role,Image).- Provider implementations are in
openai.go,anthropic.go, andgoogle.go. - Schema definitions for tool calling are in the
schema/directory.
- Imports: Organize imports into groups: standard library, then third-party libraries.
- Documentation: Use standard Go doc comments for exported symbols.
- README.md: The README.md file should always be kept up to date with any significant changes to the project.