Vibeleaderboard
Index / agent
Visit github.com
Category
AI Agents
Rank
No. 1968Tools index
Pricing
Open Source
Type
AGENT
Builder
obra
GitHub
52 stars
Latest release
v0.2.0
Date

About

Lightweight agentic coding environment.

What it does

Lace combines an interactive terminal assistant with an embeddable agent library. The terminal launches an agent process, exchanges newline-delimited JSON-RPC messages, streams responses, and asks users to approve tool access. The agent adds sessions, background shell and subagent jobs, reminders, plugins, conversation compaction, provider integrations, and MCP tools.

Why it's ranked here

Lace shows unusually broad agent infrastructure behind a small terminal surface. Durable event storage, permission prompts, plugin registries, background jobs, session recovery, and context compaction address real operational needs. The main reservation is approachability: no README was available, while installation and configuration involve a private multi-package workspace and several moving parts.

What's good

The architecture separates the terminal client, agent runtime, and wire protocol. Users can approve individual tool requests with the proposed resource and input visible. Plan mode restricts tools to reading and searching. The agent also supports streamed job updates, subagents, reminders, plugins, MCP discovery, session persistence, and an embedded library interface.

Tradeoffs

The supplied repository text provides no README, so setup and everyday usage are not documented here. The root package is private, and the default terminal flow expects either an installed agent executable or a locally built agent package. The runtime also writes protocol and agent logs, maintains session storage, and coordinates several lifecycle systems, increasing operational complexity.

How to use it well

Lace best suits engineers who want a terminal coding agent they can inspect, extend, or embed. Use its approval prompts for supervised execution, plan mode for read-only investigation, and jobs or subagents for longer work. Choose another product if you need a documented turnkey installation or a graphical interface, since neither appears in the supplied text.

Technical notes+

The root package.json defines an ESM TypeScript monorepo with workspaces under packages/* and coordinated build, typecheck, lint, format, and Vitest commands. packages/cli/src/main.ts spawns the agent and communicates through NDJSON over stdio using JsonRpcPeer, handling streaming updates, sessions, timeouts, and permission queues. packages/agent/src/main.ts registers built-in tools, execution tools, compaction, runtimes, and plugins before exposing the RPC server; it also manages logs, shutdown cleanup, recall indexing, and container reaping. packages/agent/src/index.ts exposes an embedded library and server API. packages/agent/src/mcp/index.ts exposes MCP client integration, while packages/ent-protocol/src/index.ts publishes transport, schemas, identifiers, errors, and shared protocol types.

Observed

License
Apache-2.0
Primary language
TypeScript
Packaging
Private ESM monorepo using npm workspaces under packages/*
Runtime requirements
Node.js 20.18.3 or newer and Bun 1.2.21 or newer are declared
Interfaces
Interactive CLI, embeddable library, NDJSON stdio JSON-RPC server, and MCP client integration
Provider integrations
Dependencies include Anthropic, Google GenAI, LM Studio, Ollama, and OpenAI SDKs
Repository documentation
No README was available in the supplied repository text

Read from package.json, packages/cli/src/main.ts, packages/cli/src/index.ts, packages/agent/src/main.ts, packages/agent/src/index.ts, packages/agent/src/server.ts, packages/ent-protocol/src/index.ts, packages/agent/src/mcp/index.ts, packages/agent/src/jobs/index.ts, packages/agent/src/helpers/index.ts, packages/agent/src/plugins/index.ts, packages/agent/src/reminders/index.ts, packages/agent/src/compaction/index.ts, packages/agent/src/conversation/index.ts, packages/agent/src/notifications/index.ts.

What it can do

  • Generate code from natural language prompts

    Natural language description of desired functionalityGenerated source code

  • Debug and fix code errors

    Code with bugs or errorsCorrected code with fixes applied

  • Refactor existing code

    Existing source codeImproved, restructured code

  • Explain code functionality

    Source code snippetsPlain language explanation of what the code does

  • Optimize code performance

    Inefficient codePerformance-optimized code

  • Convert code between programming languages

    Code in one programming languageEquivalent code in different programming language

Tags

agenticcodingtypescriptenvironment

Tech Stack

Node.jsDockerTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.