Skip to main content

lea_code 0.1.0 copy "lea_code: ^0.1.0" to clipboard
lea_code: ^0.1.0 copied to clipboard

lea_code is a Dart command-line coding assistant powered by Genkit.

0.1.0 #

  • New terminal UI modeled on Claude Code: a welcome box, a bordered input box with history, multi-line input, collapsed pastes and slash-command completion, a spinner with elapsed time, Markdown-styled streaming responses, ⏺ Tool(argument) blocks with short result summaries, a checkbox task list, and arrow-key menus for command approval and ask_user_question. Piped input falls back to plain lines.
  • Added /clear, /tasks, /model, and /help. Esc now interrupts a request, and approving a command can allow it for the rest of the session; declining it stops the request so you can redirect Lea.
  • Cancelling a request now reports the interruption and leaves the conversation unchanged; before, Genkit's aborted result was taken as a normal reply.
  • Added the anthropic provider via genkit_anthropic, with claude-sonnet-5-5 as its default model and a 32000-token output limit (the plugin's default of 4096 is too small for whole-file writes).
  • --model now defaults per provider; openai defaults to gpt-6-luna instead of the Gemini model name.
  • Provider errors such as an invalid API key are now shown instead of producing an empty response.
  • Replaced the analysis, execute, and verify agents with a single CodingAgent loop modeled on Claude Code. The full conversation, tool calls included, now carries across requests instead of only the verifier's messages.
  • Added a built-in system prompt focused on code quality and verification. It is now sent as a real system message; the previous outputInstructions route did not reach the model as a system prompt.
  • Added session context to the prompt (working directory, platform, date, model, git snapshot) and loading of LEA.md, CLAUDE.md, and AGENTS.md project instructions plus ~/.lea/LEA.md.
  • Rewrote every tool description with usage rules for the model.
  • edit now takes a single old_string/new_string, rejects ambiguous matches unless replace_all is set, and returns a snippet of the result.
  • read defaults to 2000 lines, truncates very long lines, reports remaining lines, and rejects directories and binary files.
  • glob now uses rg --files, so ** patterns work, results respect .gitignore, and they are sorted newest first.
  • grep gained type, context lines, multiline, and a default head_limit.
  • bash uses the user's shell, defaults to a 2 minute timeout, truncates long output, and no longer asks for approval on compound commands made only of read-only parts. Redirection into files, find -delete/-exec, and command substitution now require approval.
  • Workspace checks now normalize .., so paths can no longer escape the workspace.
  • Tool errors are returned to the model as Error: ... instead of aborting the request, and failures are shown in the terminal.
  • Responses stream to the terminal, and Ctrl-C cancels the running request.
  • powershell is only exposed on Windows, and the MCP tools only when an adapter is configured.
  • Upgraded to genkit 1.0, genkit_google_genai 1.0, genkit_openai 1.0, and schemantic 1.0, and added path.

0.0.9 #

  • Replaced the single GeneralAgent implementation with a staged agent workflow made up of AnalysisAgent, ExecuteAgent, and VerifyAgent.
  • Added BaseAgent plus shared read-only and full-access tool mixins so each stage can expose only the tools it needs.
  • Updated LeaCode to orchestrate analysis, execution, and verification passes for each request, including retrying execution up to three times when verification fails.
  • Added verification prompt/status handling so verifier responses start with STATUS: PASS or STATUS: FAIL and only the final user-facing result is shown in the terminal.
  • Turned lib/agents/general_agent.dart into a compatibility export for the staged agent classes.
  • Bumped the package version from 0.0.7 to 0.0.8.

0.0.7 #

  • Replaced the older file and web tool set with a larger runtime-managed tool suite: read, write, edit, glob, grep, sleep, powershell, ask_user_question, task_create, task_update, task_list, list_mcp_resources, and read_mcp_resource.
  • Added ToolRuntime to track workspace state, remembered file reads, the current working directory, session tasks, approval requests, and interactive multiple-choice questions.
  • Updated bash so it runs in the workspace, supports workdir and timeout_ms, formats structured command output, and requests approval for mutating, networked, or otherwise non-read-only commands.
  • Replaced generated schema-backed tool input models with lightweight JSON schema helpers and removed the old generated files from lib/models/.
  • Added tests for command safety rules and runtime file/task behavior.
  • Bumped the package version from 0.0.6 to 0.0.7.

0.0.6 #

  • Added OpenAI provider support via genkit_openai.
  • Added --provider / -p to choose between google (default) and openai.
  • Added --api_key / -k and --base_url / -b for provider configuration.
  • Added --help / -h and --version / -v.
  • Made --system_prompt optional and routed it through the agent as output instructions.
  • Bumped the package version from 0.0.5 to 0.0.6.

0.0.5 #

  • Refactored the CLI around new LeaCode and GeneralAgent classes, replacing LeaCodeEngine.
  • Added a new file_edit tool backed by sed for in-place file edits.
  • Added tool status messaging so tool start and completion updates are shown in the terminal.
  • Added a --max_turns / -t CLI option to control the maximum number of model turns per request.
  • Changed the installed executable from lea_code to lea.
  • Bumped the package version from 0.0.3 to 0.0.5.

0.0.3 #

  • Added a new web_fetch tool so the assistant can fetch web pages as text.
  • Registered web_fetch in LeaCodeEngine so it is available during model generation.
  • Bumped the package version from 0.0.2 to 0.0.3.

0.0.2 #

  • Bumped the package version from 0.0.1 to 0.0.2.

0.0.1 #

  • Added the initial lea_code interactive CLI entrypoint.
  • Added Gemini-powered response generation through Genkit and genkit_google_genai.
  • Added support for selecting a model with --model.
  • Added support for passing a custom system prompt with --system_prompt.
  • Added conversation management commands for resetting and exiting the session.
  • Added local assistant tools for shell execution, file reads, file writes, string search, and file discovery.
  • Added typed tool input models and generated schema files for tool registration.
0
likes
160
points
43
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

lea_code is a Dart command-line coding assistant powered by Genkit.

Repository (GitHub)

License

MIT (license)

Dependencies

args, genkit, genkit_anthropic, genkit_google_genai, genkit_openai, path, schemantic

More

Packages that depend on lea_code