This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is an **Eino framework** project (Go-based AI application framework by ByteDance/CloudWeGo). The repository is in its early stages.
## Build & Development Commands
```bash
# Initialize Go module (if not done)
go mod init eino-test
# Build
go build ./...
# Run
go run .
# Test all
go test ./...
# Test a single package
go test ./path/to/package/
# Test a single function
go test ./path/to/package/ -run TestFunctionName
# Lint (install golangci-lint if needed)
golangci-lint run ./...
# Tidy dependencies
go mod tidy
```
## Auto-Commit Convention
After completing each discrete subtask (file creation, feature implementation, bug fix, refactor), automatically generate a conventional commit message and commit. **Do NOT push.**
Process:
1. Stage the relevant changed files (`git add <files>`)
2. Generate a commit message following Conventional Commits format:
-`feat: <description>` for new features
-`fix: <description>` for bug fixes
-`refactor: <description>` for code refactoring
-`docs: <description>` for documentation
-`test: <description>` for test additions/changes
-`chore: <description>` for tooling/config changes
3. Commit with `git commit -m "<message>"`
4. Never run `git push` unless explicitly asked
Use a SubAgent for commit generation when the change is non-trivial, to keep the main context clean.
- **Consult `ref_docs/` first** when working with Eino framework APIs, patterns, or best practices.
## Reference Documentation
Eino framework reference docs are stored in `ref_docs/`. Before writing Eino-related code, read the relevant doc(s) to ensure correct API usage and patterns.