Java Edition of Claude Code CLI is Here! Solon Code CLI Released
Source: Dev.to
Introduction
When AI meets code, and the essence of Claude Code meets the Solon AI framework—a smart terminal assistant truly belonging to the Java ecosystem is born.
Remember the shock when Claude Code CLI was released? That AI assistant capable of chatting in the terminal, generating videos, sending emails, writing code, and understanding project structures finally has a Java implementation!
Today, the Solon AI framework officially launches Solon Code CLI — a smart terminal tool that fully embraces the design philosophy of Claude Code CLI while deeply integrating with the Java ecosystem.
- Compatible with Claude Code Agent Skills specifications
- Compatible with CLAUDE.md specifications
Solon Code CLI does more than just mimic the surface features of Claude Code CLI. From its foundation (Solon AI) to its core logic and interaction patterns, it aligns with the Claude Code philosophy across the board and features deep optimizations for Java development scenarios.
Licensed under the MIT Open Source License, it allows for arbitrary modification and customization.
Quick Start
-
Edit the LLM configuration in
README.md(you can even give it a nickname like “Xiaohua”). -
Run the starter script:
- macOS / Linux →
run.sh - Windows →
run.cmd
- macOS / Linux →
You’ll be greeted with a fresh AI‑powered terminal:
Xiaohua v0.0.12
/Users/yourname/projects/myapp/
User >
No bloated command parameters, no complex configurations. Just like talking to an experienced programmer, you only need to state your requirements.
Core Commands
init – Project Initialization
Xiaohua v0.0.12
/Users/yourname/projects/myapp/
User > init
Re-initializing workspace...
Local index refreshed successfully! 172 files scanned and indexed in 154 ms.
Verified project contract. (Maven (Root))
User >
- What it does:
- Automatically identifies your project structure, technology stack, and local file index.
- Generates a
CLAUDE.mdfile in the project root – the heart of the Claude Code specification – recording build commands, testing methods, and coding standards. This file serves as a living document for both the AI and your team members.
Local Search
User > Local search server related code
Xiaohua
Users who want to find the server‑specific code of the protocol need to search locally for the server‑specific code. I should use `full_text_search` to search for server‑related content in the project.
❯ full_text_search query=server
Found 19 results (sorted by relevance):
Path: acp-core/src/test/java/com/agentclientprotocol/sdk/spec/McpServerConfigurationTest.java
Score: 1.94, Line: ~22
Preview: ...sertj.core.api.Assertions.assertThat; /** * Tests for MCP server configuration serialization and deserialization. * * * Per the ACP spec: *
* Stdio transport: N...
Based on Lucene‑powered intelligent search, it instantly locates the critical code you need.
Retrieve a Class with Perfect Logging
User > Give WebSocketAcpAgentTransport class under the perfect log (based on slf4j specification)
Xiaohua
I searched for this class first and then refined the SLF4J log for it.
❯ full_text_search query=WebSocketAcpAgentTransport
Five results were found (in order of relevance):
1. Path: acp-websocket-jetty/src/test/java/com/agentclientprotocol/sdk/agent/transport/WebSocketAcpAgentTransportTest.java
Score: 3.28, Line: ~18
Preview: ...ssertions.assertThatThrownBy; /** * Unit tests for {@link WebSocketAcpAgentTransport}. */ class WebSocketAcpAgentTransportTest { ...
2. Path: acp-websocket-jetty/src/test/java/com/agentclientprotocol/sdk/integration/WebSocketClientAgentTest.java
Score: 2.68, Line: ~14
Preview: ...ncAgent; import com.agentclientprotocol.sdk.agent.transport.WebSocketAcpAgentTransport; import com.agentclientprotocol.sdk.client.AcpAsyncClient; ...
3. Path: acp-websocket-jetty/src/main/java/com/agentclientprotocol/sdk/agent/transport/WebSocketAcpAgentTransport.java
Score: 2.57, Line: ~70
Preview: ...ncy> * } * * @author Mark Pollack */ public class WebSocketAcpAgentTransport implements AcpAgentTransport { private static final Logger logger = LoggerFactory.getLogger...
4. Path: README.md
Score: 1.65, Line: ~342
Preview: ```java
import com.agentclientprotocol.sdk.agent.transport.WebSocketAcpAgentTransport;
var transport = new WebSocketAcpAgentTransport(8080, // port...
❯ read_file
*(The actual file content would be displayed here.)*
## Verification‑Driven Development
Solon Code CLI follows the **“verification‑driven”** principle of Claude Code: **tests must be run after modifying code** to ensure changes are safe and reliable.
For high‑risk operations, Solon Code CLI features a built‑in **security audit policy** similar to Claude Code. It intelligently intercepts potentially dangerous actions.
## Example: Fetch a Remote Web Page
```text
User > Get the contents of https://solon.noear.org/ web page
Xiaohua
The user wants to access the contents of https://solon.noear.org/. I need to use a tool that fetches web content.
Available tools:
1. `bash` – can execute shell commands like `curl` or `wget`
2. `full_text_search` – local search (not suitable here)
3. Other tools – mainly file manipulation
The most straightforward way is to use the `bash` tool to execute the `curl` command.
Permission Required
Command: curl -s https://solon.noear.org/
(After permission is granted, the CLI would return the page HTML.)
License
MIT Open Source License – free to modify, redistribute, and customize.
Solon Code CLI – Intelligent Terminal Assistant for Java Developers
Born for Java developers, an intelligent terminal assistant sharing the same DNA as Claude Code.
What It Does
It intelligently intercepts (via the customizable HitlStrategy) the following risky operations and asks for confirmation before execution:
- System privileged commands –
sudo,chmod,chown - Network outbound operations –
curl,wget,ssh - Path‑traversal attacks –
../ - Combined command injections –
;,&
Only the operations you confirm will be executed, keeping security fully aligned with Claude Code.
Architecture – “Pool‑Box Model”
One AI core with three connection methods:
| Method | Description |
|---|---|
| CLI | Direct chat with AI in the terminal – the purest experience (enabled by default). |
| Web | Visual interactive interface reachable at http://localhost:8080/cli. |
| ACP (Agent Communication Protocol) | Seamless connection to any IDE plugin or client supporting the protocol (future VS Code / IntelliJ IDEA integration, remote‑server usage, shared AI resources for teams). |
Configuration Samples
CLI (default)
solon:
code:
cli:
cliEnabled: true
cliPrintSimplified: true
Web UI (optional)
solon:
code:
cli:
webEnabled: false # set to true to enable
webEndpoint: "/cli"
ACP (optional)
solon:
code:
cli:
acpEnabled: false # set to true to enable
acpTransport: "websocket" # "stdio" or "websocket"
acpEndpoint: "/acp"
Download (≈ 17 MB)
- GitHub:
- Gitee:
Quick Start
- Extract the zip package.
- Edit
application.yaml(orapplication.yml) with your API key and model details.
solon:
code:
cli:
nickname: "Xiaohua"
workDir: "my-project"
chatModel:
apiUrl: "https://api.deepseek.com/v1/chat/completions"
apiKey: "sk-xxxx"
model: "deepseek-chat"
planningMode: true
hitlEnabled: true
-
Run the CLI:
-
macOS / Linux
sh run.sh -
Windows
run.cmd -
Or directly with Java
java -jar SolonCodeCLI.jar
-
Why Use Solon Code CLI?
- Not a replacement for Claude Code – it brings Claude‑style AI programming into the Java ecosystem.
- Open‑source (MIT), fully customizable.
- Integrates with CI/CD pipelines, custom AI toolchains, or team‑wide development environments.
Project Links
- GitHub Repository:
- Documentation & Issues: Available in the repository.
Ready to bring AI‑powered efficiency to your Java projects?
The Java edition of Claude Code is here – give Solon Code CLI a try!