📖 Documentation | Getting Started | API Reference
Note: This project is currently in development. The repository structure and APIs are subject to change.
Spring AI Agents provides autonomous CLI agent integrations for the Spring AI ecosystem. This project brings Claude Code, Gemini CLI, and SWE-bench agents to Spring applications as first-class citizens with Spring Boot auto-configuration support.
Transform autonomous CLI agents into pluggable Spring components:
- Claude Code CLI - Production-ready code assistance and autonomous development tasks
- Gemini CLI - Google's Gemini models through command-line interface
- SWE-bench Agent - Software engineering benchmarking and evaluation
<dependency>
<groupId>org.springaicommunity.agents</groupId>
<artifactId>spring-ai-starter-agent</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
@Autowired
private AgentClient agentClient;
// Simple goal execution
String result = agentClient.run("Fix the failing test in UserServiceTest");
// Advanced goal configuration
AgentClientResponse response = agentClient
.goal("Generate comprehensive API documentation")
.workingDirectory(projectRoot)
.run();
spring:
ai:
agent:
provider: claude-code # or gemini, swebench
max-steps: 6
timeout: 300s
claude-code:
model: claude-3-5-sonnet-20241022
bin: /usr/local/bin/claude
gemini:
model: gemini-2.0-flash
bin: /usr/local/bin/gemini
spring-ai-agents/
├── agent-models/ # Agent implementations
│ ├── spring-ai-agent-model/ # Core abstractions
│ ├── spring-ai-claude-code/ # Claude Code agent
│ ├── spring-ai-gemini/ # Gemini CLI agent
│ └── spring-ai-swebench-agent/ # SWE-bench agent
├── provider-sdks/ # CLI/SDK integrations
│ ├── claude-code-sdk/ # Claude Code CLI client
│ └── gemini-cli-sdk/ # Gemini CLI client
├── spring-ai-agent-client/ # Unified client façade
├── spring-ai-spring-boot-starters/ # Auto-configuration
└── samples/ # Example applications
AgentModel
- Core interface for autonomous agentsAgentClient
- ChatClient-inspired fluent API- Provider SDKs - CLI integrations with resilience features
- Spring Boot Starter - Auto-configuration and metrics
Module | Description | Maven Coordinates |
---|---|---|
Core Abstractions | AgentModel , AgentTaskRequest , AgentCallResult |
org.springaicommunity.agents:spring-ai-agent-model |
Claude Code SDK | CLI client with resilience features | org.springaicommunity.agents:claude-code-sdk |
Gemini CLI SDK | Gemini command-line interface client | org.springaicommunity.agents:gemini-cli-sdk |
Claude Code Agent | Spring AI adapter for Claude Code | org.springaicommunity.agents:spring-ai-claude-code |
Gemini Agent | Spring AI adapter for Gemini CLI | org.springaicommunity.agents:spring-ai-gemini |
SWE-bench Agent | Software engineering benchmarking agent | org.springaicommunity.agents:spring-ai-swebench-agent |
Agent Client | Unified fluent API | org.springaicommunity.agents:spring-ai-agent-client |
Spring Boot Starter | Auto-configuration | org.springaicommunity.agents:spring-ai-starter-agent |
- Production Ready: Circuit breakers, retries, timeouts, and comprehensive error handling
- Spring Boot Integration: Auto-configuration, externalized configuration, and actuator support
- Observability: Micrometer metrics and structured logging
- Type Safe: Full Java type safety with comprehensive JavaDoc
- Flexible: Provider-agnostic
AgentClient
with pluggable implementations
See the samples/
directory for complete examples:
hello-world/
- Simple Spring Boot application demonstrating AgentClient basics
- Java 17 or higher
- Maven 3.8+ or Gradle 7+
- Claude CLI (for Claude Code agent)
- Gemini CLI (for Gemini agent)
This project follows the Spring AI Community Guidelines.
Spring AI Agents is Open Source software released under the Apache 2.0 license.
Current Status:
This project is actively being developed. While the core functionality is working, we recommend waiting for the 0.1.0
stable release for production use.
This project is designed to eventually integrate with the main Spring AI project. The package structure and module organization are designed to make this transition seamless when ready.