Skip to main content

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 fallback
  • ALSP_ADAPTER (Rust): local protocol service over TCP
  • Patchlet (Rust): atomic Search/Replace patch apply with backup and rollback
  • Orchestrator (Python): LangGraph-based pipeline and repair routing
  • CLI (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.json when 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/health
    • http://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 mcp is stdio MCP mode (for OpenCode / IDE MCP clients).
  • project activation is explicit via system.warmup payload (project_root/path).
  • If port 8787 is 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

lesscoder-0.1.5.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lesscoder-0.1.5-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

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

Hashes for lesscoder-0.1.5.tar.gz
Algorithm Hash digest
SHA256 fd5b9e4e74ad8bccc586b37000c881571c30ad1eb1a920062503744f7e4078c3
MD5 e1a5256c51f89213a1abbb786800b7ba
BLAKE2b-256 6d5186d0be098eb23ce2151c6afb6602672e2ffed1f1e59cefec4009a95d24d0

See more details on using hashes here.

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

Hashes for lesscoder-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 75a24c3f5aeff09c92575cea4cc2c3c65f0ffe82725d7b3c9b1109dd3344dd14
MD5 3600947ccb282fa49e1beff60c4a8c8f
BLAKE2b-256 e612140f2a202a6f3ffa009cda6bb4b8cfbc34faa50446e5cb99c56aa0a3c740

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page