Code-Native Engine MVP CLI (Java-focused) with local orchestrator and adapter workflow.
Project description
lesscoder
Code-Native Engine for local AI-assisted coding workflows.
This repository provides an end-to-end loop:
Analyze -> Plan -> Execute -> Verify -> Done
Core Modules
ALSP(Rust): repository map, symbol lookup, LSP fallbackALSP_ADAPTER(Rust): local protocol service over TCPPatchlet(Rust): atomic Search/Replace patch apply with backup and rollbackOrchestrator(Python): LangGraph-based pipeline and repair routingCLI(lesscoder): run tasks, query trace, start server
Requirements
- Python
3.11+ - Java
17+ - Maven
3.9+ - Rust toolchain (currently required for
lesscoder server)
Install
After package publish:
pip install lesscoder
npm i -g @civilization/lesscoder
From source (development):
pip install -e .
The npm package is a CLI wrapper that invokes the Python runtime.
lesscoder server runtime mode:
- Dev mode: if local Rust manifest exists, use
cargo run. - Installed mode: if no manifest, resolve adapter binary from:
LESSCODER_ADAPTER_BIN- bundled binary (if packaged)
- local cache
~/.lesscoder/adapter/... - GitHub Release auto-download (default repo:
MoCuishlei/less-coder) - checksum verify via
lesscoder_adapter_manifest.jsonwhen available
Run
lesscoder warmup --project-root /abs/path/to/your/repo
lesscoder server --host 127.0.0.1 --port 8787
lesscoder run --project-root /abs/path/to/your/repo
lesscoder trace --trace-id <trace_id>
lesscoder release-dry-run --project-root /abs/path/to/your/repo --tag v0.1.0
warmup requires explicit path parameters (--project-root or --manifest-path).
server can start without project path, then accept system.warmup(project_root=...) later.
MCP Setup
Start the service first:
lesscoder server --host 127.0.0.1 --port 8787
When server starts, it prints:
- a ready-to-copy MCP config JSON snippet
- HTTP inspect endpoints:
http://127.0.0.1:8787/healthhttp://127.0.0.1:8787/methods
Then configure your MCP client to launch lesscoder as a local server process.
Example config (common mcpServers format):
{
"mcpServers": {
"lesscoder": {
"command": "lesscoder",
"args": ["mcp", "--adapter-host", "127.0.0.1", "--adapter-port", "8787"]
}
}
}
Notes:
lesscoder mcpis stdio MCP mode (for OpenCode / IDE MCP clients).- project activation is explicit via
system.warmuppayload (project_root/path). - If port
8787is already occupied, change it in both server args and client settings. - Current adapter endpoint is
127.0.0.1:<port>with local protocol v0. - Browser inspection endpoints are best-effort diagnostics; MCP calls still use local protocol v0.
- You can override adapter binary path with
LESSCODER_ADAPTER_BIN.
Quick Validation
pytest -q tests/integration
Language Status
- Java: available now
- Go / JavaScript / TypeScript / C / C++: planned next
Documentation
- Project guide:
PROJECT_GUIDE.md - Docs index:
docs/README.md - Java runtime guide:
docs/Java_Runtime_Guide.md - Local protocol:
docs/local_protocol_v0.md - Worklog index:
WORKLOG/README.md
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lesscoder-0.1.5.tar.gz.
File metadata
- Download URL: lesscoder-0.1.5.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd5b9e4e74ad8bccc586b37000c881571c30ad1eb1a920062503744f7e4078c3
|
|
| MD5 |
e1a5256c51f89213a1abbb786800b7ba
|
|
| BLAKE2b-256 |
6d5186d0be098eb23ce2151c6afb6602672e2ffed1f1e59cefec4009a95d24d0
|
File details
Details for the file lesscoder-0.1.5-py3-none-any.whl.
File metadata
- Download URL: lesscoder-0.1.5-py3-none-any.whl
- Upload date:
- Size: 33.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75a24c3f5aeff09c92575cea4cc2c3c65f0ffe82725d7b3c9b1109dd3344dd14
|
|
| MD5 |
3600947ccb282fa49e1beff60c4a8c8f
|
|
| BLAKE2b-256 |
e612140f2a202a6f3ffa009cda6bb4b8cfbc34faa50446e5cb99c56aa0a3c740
|