Skip to content

lcode 0.18.0

Choose a tag to compare

@nasser1941 nasser1941 released this 05 Oct 23:02
77a9dcb

lcode without a person at the keyboard (#48).

  • Structured output.

    • lcode -p "…" --output json prints one result object: status, answer, tool calls, files changed, token usage.
    • --output stream-json prints an event per model step and tool result, then the result.
    • --max-steps and --allowed-tools limit a run, and the exit code says how it ended (0 success, 1 error, 3 max steps). Anything that needs permission is refused, since nobody can be asked.
  • A Python API.

    from lcode import Session
    
    with Session("path/to/repo", permission_mode="auto-edit") as session:
        result = session.run("Fix the failing test")
        print(result.status, result.files_changed)

    stream() yields the events, and approve decides permission requests. See examples/api/fix_tests.py.

  • A GitHub Action for self-hosted runners. uses: nasser1941/lcode@v0.18.0 on a machine of yours with a GPU:

    • @lcode comments: it answers them on issues and pull requests, from the repository's owners, members and collaborators only.
    • Changes: it proposes them as a pull request that closes the issue, or pushes them to the pull request's branch.
    • Reviews: it can review new pull requests.
    • Privacy: the code and the model stay on your runner.

Docs: Automation, with the JSON schema, the API and an example workflow.

Full changelog: v0.17.0...v0.18.0