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 @lesscoder/cli

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": ["server", "--host", "127.0.0.1", "--port", "8787"]
    }
  }
}

Notes:

  • 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.1.tar.gz (29.2 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.1-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file lesscoder-0.1.1.tar.gz.

File metadata

  • Download URL: lesscoder-0.1.1.tar.gz
  • Upload date:
  • Size: 29.2 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.1.tar.gz
Algorithm Hash digest
SHA256 c4f6db6b5a1be7a8427d3d1cb0471d5d809e00e9f324db8bdfb42672a1bd8234
MD5 b4664d437534e8776dd9d15ddd8d70da
BLAKE2b-256 27d30940bd11ec4019cf804dc49ca0416096cda9bdb12bf9b9c81a8d939b1ed9

See more details on using hashes here.

File details

Details for the file lesscoder-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lesscoder-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 30.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 42f54af730820d061cda18bcc4e0845e5a8a09a365214eabae1e549314746c6d
MD5 23415c0543f9b845f55aac646028f711
BLAKE2b-256 b65c4a1fd00254102f7f2cc26a83aed1610cb2c5ea89b3225e65ca90c5152ef2

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