84 lines
2.8 KiB
Markdown
84 lines
2.8 KiB
Markdown
# CLAUDE.md
|
|
|
|
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.
|
|
|
|
## Restrictions
|
|
|
|
- **Do NOT use WebSearch.** All work must rely on local code, existing documentation, and tool-provided context only.
|
|
- **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.
|
|
|
|
| Topic | Path |
|
|
|---|---|
|
|
| Chain & Graph Orchestration | `ref_docs/core_modules/chain_and_graph_orchestration/` |
|
|
| Components (ChatModel, Retriever, Embedding, Lambda, Indexer, Tools, etc.) | `ref_docs/core_modules/components/` |
|
|
| Eino ADK (Agent: quickstart, interface, extension, collaboration, HITL, middleware) | `ref_docs/core_modules/eino_adk/` |
|
|
| Flow Integration (React Agent, Multi-Agent Hosting) | `ref_docs/core_modules/flow_integration_components/` |
|
|
| DevOps (IDE Plugin, Visual Debug, Visual Orchestration) | `ref_docs/core_modules/devops/` |
|
|
|
|
Usage rules:
|
|
- Read the relevant `_index.md` or guide file before implementing any Eino feature.
|
|
- Follow the patterns and interfaces described in the docs exactly; do not improvise API usage.
|
|
- When unsure which doc to consult, read `ref_docs/core_modules/_index.md` for an overview.
|
|
|
|
## Architecture
|
|
|
|
(To be updated as the project grows.)
|
|
|
|
## Key Dependencies
|
|
|
|
(To be updated as dependencies are added.)
|