maka is a free, open source ai development platforms project written in TypeScript and released under Apache-2.0. It has 5,549 GitHub stars, 514 forks and 481 open issues, and was last pushed 55 minutes ago. On this registry it ranks #82 of 116 tracked projects in AI Development Platforms, with 5 head-to-head comparisons available.

What is maka?

Apache Maka (Incubating) is a TypeScript, Apache-2.0 licensed agent workspace for developers and teams who run LLM agents on their own machines and need a complete, verifiable record of everything those agents did.

What it is

Maka is an agent harness: a workspace whose stated single measure is how many tasks it finishes and at what cost. It lives in the AI agent tooling ecosystem as an Electron desktop application, a TUI and CLI, and an evaluation front end, all built on one Runtime Host. It is developed under the Apache Incubator and published in the AI Development Platforms category, with the execution authority separated from the clients that drive it.

The concrete problem it solves is the habit of treating a chat transcript as the only record of agent work. In Maka the log is the runtime. Every model message, tool call, permission decision and termination is written as an append-only RuntimeEvent, and the user interface, the next prompt and crash recovery are projections of that log rather than the only copy of it. Old tool output can therefore leave the next prompt without leaving the log, which is what replaces the ephemeral agent session whose entire state lives in the context window.

Key capabilities

  • Append-only RuntimeEvent log recording every model message, tool call, permission decision and termination, with the UI, the next prompt and crash recovery derived from it.
  • One Runtime Host as the single execution authority, with Desktop, the TUI and CLI, and Eval as thin clients; Eval owns only the experiment and its scores.
  • A Grep tool inside Runtime that is implemented against ripgrep.
  • Local-first storage of sessions, settings and run records, with no bundled shared model account.
  • Bring-your-own-model support for a cloud API, a local model or a compatible gateway, with configured, send-ready and experimental connection states distinguished in the interface.
  • Benchmarks run against other harnesses on the same model with the official verifier, with per-task results shipped in docs/eval/.
  • Peer and Peer Mesh development entry points (npm run dev:peer, npm run dev:full:peer) requiring Rust stable 1.98 or newer.

Who uses it and how

  • Developers and testers who install the Desktop Nightly, built daily from main for macOS on Apple Silicon and Intel, Windows x64, and Linux x64 and arm64, with the Windows and Linux builds shipped as unsigned previews.
  • Teams comparing agent harnesses under controlled conditions, because published runs use the same model and the same official verifier with a full per-task record.
  • Terminal users running a single turn, for example npm run cli:dev -- run "Summarize this repository and identify its most important risk".
  • Users coordinating multi-slice work through the graph entry point, for example npm run cli:dev -- run --graph "Implement two independent slices, integrate them, then review the result".
  • Operators who already hold model access, whether a cloud API, a local model or a compatible gateway, and prefer sessions, settings and run records to remain on their own hardware.

Getting started

Build Desktop from source with git clone https://github.com/apache/maka.git, then npm ci and npm run dev, on Node.js 22.19 or newer with npm 11, Git and ripgrep installed. The public CLI ships as an npm package documented in packages/cli/README.md, and on first launch Maka requires a model connection added under Settings → Models.

How it compares

Maka stands alone in this registry, as the facts provided name no comparable agent harness or competing tool. Its distinguishing claims are the append-only RuntimeEvent log as the runtime itself and the separation of one Runtime Host from its thin clients.

When to use it — and when not to

A self-hoster must supply their own model access, since Maka bundles no shared model account, and must operate a Node.js and Electron build toolchain with ripgrep present for the Runtime Grep tool. It should not be picked by anyone who needs a supported production release today: no Apache release exists yet, and the nightly desktop builds are unsigned previews on Windows and Linux that are explicitly not intended for production use. The project also carries 481 open issues at its last recorded push, which is worth weighing before depending on it.

project readme (upstream, from github) — read inline

Apache Maka (Incubating)

Apache Maka (Incubating) is a high-performance agent workspace that keeps a complete record of everything it did.

Website · Documentation · Download · 中文文档

GitHub stars License: Apache 2.0 Platforms: macOS, Windows preview, Linux preview

What Maka is

An agent harness exists to finish tasks. We hold it to one measure: how many it completes and at what cost. We publish every run: same model, same official verifier, full per-task record.

  • Measured, not claimed. Maka is benchmarked against other harnesses on the same model with the official verifier, and the per-task results ship with every report in docs/eval/.
  • The log is the runtime. Every model message, tool call, permission decision and termination is an append-only RuntimeEvent. The UI, the next prompt and crash recovery are projections of that log, never the only copy. Old tool output can leave the next prompt without leaving the log.
  • Your machine, your model. Sessions, settings and run records stay local. You bring the model: a cloud API, a local model or a compatible gateway.
  • One Runtime Host. Desktop, the TUI and CLI, and Eval are thin clients of one execution authority; Eval owns only the experiment and its scores.

The website walks through one turn of the log and links the published runs. ARCHITECTURE.md has the system map.

Get Maka

Apache Releases: Maka has not made an Apache release yet. When one exists, the signed source archive will be the official release; packages distributed elsewhere are convenience artifacts. See the downloads page and .github/ASF_SOURCE_RELEASE.md for candidate criteria, signing procedures, and verification steps.

Desktop Nightly: Built daily from main for developers and testers, for macOS on Apple Silicon and Intel, Windows x64 and Linux x64 and arm64; the Windows and Linux builds are unsigned previews. It is not an ASF release and is not intended for production use. The downloads page has the installers and the platform status.

Build from source: To compile and run Desktop, the TUI, or the CLI directly from a source checkout, see the Build from source section below.

Build from source

Requirements

  • Node.js 22.19 or newer (CI uses Node.js 24);
  • npm (the lockfile and scripts use npm; the current packageManager is npm 11);
  • Git;
  • ripgrep, used by Runtime's Grep tool.

Start Desktop

git clone https://github.com/apache/maka.git
cd maka
npm ci
npm run dev

npm run dev starts the Desktop development environment with HMR. To build every workspace before starting Electron, use:

npm run dev:full

Direct Peer and Peer Mesh development additionally requires Rust stable 1.98 or newer and the platform linker (Xcode Command Line Tools on macOS, MSVC Build Tools on Windows). Use the peer-enabled entry point so the native addon is built before Desktop starts:

npm run dev:peer       # HMR
npm run dev:full:peer  # full build

If dependencies were installed with ELECTRON_SKIP_BINARY_DOWNLOAD=1, install the Electron platform binary before starting:

node node_modules/electron/install.js

First run

Maka does not bundle a shared model account. On first launch:

  1. Open Settings → Models;
  2. Add an API, local-model, or supported account connection;
  3. Test it and choose a default model;
  4. Return to the workspace and start a task.

The app distinguishes configured, send-ready, and experimental connection states. An account flow that is not wired into Runtime is not presented as a usable model.

Terminal entry points

For the public npm package, see the CLI installation and usage guide. The commands below run the development CLI from a source checkout.

Build the workspaces first:

npm run build

Then start the TUI or run one Turn:

npm run cli:dev
npm run cli:dev -- run "Summarize this repository and identify its most important risk"
npm run cli:dev -- run --graph "Implement two independent slices, integrate them, then review the result"
npm run cli:dev -- --help

The TUI also accepts /graph on, /graph off, and /graph . Non-interactive --graph runs wait for the durable Graph to finish before printing the final supervisor output. Graph implementation operators use isolated Git worktrees, so the source project must be a clean Git worktree.

The repository CLI uses the same Maka Dev profile as a development Desktop build. The released maka binary continues to use the Maka profile; the two profiles are not copied or synchronized automatically. Evaluation specs and adapters live in packages/eval.

Architecture

The backend spine is:

Desktop / TUI / CLI → Runtime Host → SessionManager → AgentRun
                                             ↓
                         Model + Tool Runtime → Runtime Event Log
                                             ↓
                              Context / Session / UI projections

Experiment → Cells → Attempts → Results
                    ↓
       Runtime Host executes Maka subjects

Start with ARCHITECTURE.md. It provides the system map, code boundaries, problem-oriented reading paths, and links to the deep dives under docs/architecture/.

Repository layout

apps/desktop/          Electron main / preload / React renderer

packages/core/         Pure contracts for Sessions, Events, Permissions, and Connections
packages/storage/      SQLite operational state, configuration, and payload stores
packages/mcp/          Provider-neutral Model Context Protocol client integration
packages/runtime/      AgentRun, model adapters, tools, context, and recovery
packages/runtime-host/ Single-owner Runtime Host lifecycle, protocol, and client bootstrap
packages/eval/         Experiment cells, attempts, results, and executor/subject adapters
packages/computer-use/ Computer-use backend selection, host lifecycle, and protocol adapters
packages/cli/          TUI and non-interactive CLI
packages/ui/           Shared conversation, Markdown, Artifact, and UI primitives
native/                Rust: the direct-peer addon for Runtime Host and the gitoxide helper
website/               Astro source for maka.apache.org

docs/                  Architecture, product, security, privacy, and test contracts
scripts/               Build hygiene, visual checks, smoke tests, and release helpers
skills/                Agent skills shipped with the repository
patches/               Patches applied to npm dependencies at install
experiments/           Platform experiments, currently the Windows sandbox smoke scripts

Local data and recovery

Workspace data lives under Electron userData by default:

/workspaces/default/
  runtime.sqlite
  connection-catalog.json
  credential-vault.jso

readme truncated — read the full docs on github

Frequently asked questions

Is maka free to use?

maka is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does maka do?

Apache Maka (Incubating) is a high-performance agent workspace that keeps a complete record of everything it did.

What is maka written in?

maka is primarily written in TypeScript. Its source is publicly available at https://github.com/apache/maka, and it has 5,549 GitHub stars.