freshcrate
Skin:/
Home > AI Agents > acolyte

acolyte

A terminal-first AI coding agent. Open-source, observable, and built for developer control.

Why this rank:Release freshnessStrong adoptionHealthy release cadence

Description

A terminal-first AI coding agent. Open-source, observable, and built for developer control.

README

Acolyte

CIVersionLicenseBunTypeScriptAn open-source, terminal-first AI coding agent with a single-pass lifecycle, on-demand memory, and transparent execution. Every decision visible, every behavior overridable.

Acolyte CLI

Install

curl -fsSL https://acolyte.sh/install | sh

What does this do?

Then initialize your provider:

acolyte init

Development

Requires Bun.

git clone https://github.com/cniska/acolyte.git
cd acolyte
bun install
bun run dev           # starts server + CLI client
bun run verify        # lint + typecheck + all tests
bun test              # all tests
bun run test:unit     # unit tests only
bun run test:int      # integration tests
bun run test:tui      # visual regression tests
bun run test:perf     # performance baselines

Documentation

License

MIT

Release History

VersionChangesUrgencyDate
v0.20.0## What's Changed * fix(skills): persist tool-activated skills across turns by @cniska in https://github.com/cniska/acolyte/pull/211 * fix(signal): detect inline signal tokens by @cniska in https://github.com/cniska/acolyte/pull/210 * refactor(skills): remove skill budget by @cniska in https://github.com/cniska/acolyte/pull/213 * refactor(tools): remove output budget system by @cniska in https://github.com/cniska/acolyte/pull/214 * refactor(tools): thread generic types through runTool by @cniskaHigh4/23/2026
v0.19.0## What's Changed * fix: strip @signal in lifecycle finalize (#182) by @cniska in https://github.com/cniska/acolyte/pull/183 * refactor(paths): replace homeDir with env injection by @cniska in https://github.com/cniska/acolyte/pull/184 * test: move fs-dependent tests into .int.test.ts by @cniska in https://github.com/cniska/acolyte/pull/186 * refactor(rpc): adopt object args and zod parsing by @cniska in https://github.com/cniska/acolyte/pull/185 * test: rewrite int tests with registry dispatch High4/14/2026
v0.18.1## What's Changed * docs: fix docs review drift by @cniska in https://github.com/cniska/acolyte/pull/180 * fix(tui): harden chat renderer by @cniska in https://github.com/cniska/acolyte/pull/181 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.18.0...v0.18.1High4/13/2026
v0.18.0## What's Changed * fix(config): crash on malformed config file by @cniska in https://github.com/cniska/acolyte/pull/166 * feat(install): XDG Base Directory support on Linux by @cniska in https://github.com/cniska/acolyte/pull/170 * feat(login): browser-based OAuth with manual fallback by @cniska in https://github.com/cniska/acolyte/pull/172 * feat(cloud): incremental session sync with gzip compression by @cniska in https://github.com/cniska/acolyte/pull/173 * fix(chat): harden chat subsystem byHigh4/9/2026
v0.17.0## What's Changed * feat(cloud): add login and logout commands by @cniska in https://github.com/cniska/acolyte/pull/162 * fix: detect Vercel AI Gateway rate limits by @cniska in https://github.com/cniska/acolyte/pull/163 * fix: harden critical subsystems by @cniska in https://github.com/cniska/acolyte/pull/164 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.16.0...v0.17.0High4/8/2026
v0.16.0## What's Changed * test(cli): add cli visual harness by @cniska in https://github.com/cniska/acolyte/pull/126 * feat(memory): sync AGENTS.md via project memory by @cniska in https://github.com/cniska/acolyte/pull/127 * feat: add parallel workspaces by @cniska in https://github.com/cniska/acolyte/pull/128 * feat(undo): session-level undo via checkpoints by @cniska in https://github.com/cniska/acolyte/pull/129 * refactor(chat): table-driven slash dispatch by @cniska in https://github.com/cniska/aMedium4/7/2026
v0.15.0## What's Changed * refactor: drop legacy migrations, reset protocol by @cniska in https://github.com/cniska/acolyte/pull/118 * feat: add database migration framework by @cniska in https://github.com/cniska/acolyte/pull/119 * feat(cli): add --update and --no-update by @cniska in https://github.com/cniska/acolyte/pull/123 * fix(release): bundle wasm deps in compiled binary by @cniska in https://github.com/cniska/acolyte/pull/124 * chore(release): drop linux-arm64 build by @cniska in https://githuMedium4/7/2026
v0.13.0## What's Changed * feat(provider): add Vercel provider by @cniska in https://github.com/cniska/acolyte/pull/108 * feat(skills): add engineering skills by @cniska in https://github.com/cniska/acolyte/pull/109 * feat(skills): skill toolkit and bundled skills by @cniska in https://github.com/cniska/acolyte/pull/110 * feat(memory): track last recall time by @cniska in https://github.com/cniska/acolyte/pull/111 * refactor(lifecycle): replace shouldYield with run control by @cniska in https://github.Medium4/6/2026
v0.12.0## What's Changed * docs(benchmarks): update project list and metrics by @cniska in https://github.com/cniska/acolyte/pull/93 * refactor(memory): unified memory store by @cniska in https://github.com/cniska/acolyte/pull/95 * refactor(lifecycle): separate effect output from tool result by @cniska in https://github.com/cniska/acolyte/pull/98 * feat(memory): memory toolkit and on-demand search by @cniska in https://github.com/cniska/acolyte/pull/97 * refactor: move tool labels to UI layer by @cniskMedium4/2/2026
v0.11.0## What's Changed * refactor(tools): namespace IDs and improve output by @cniska in https://github.com/cniska/acolyte/pull/70 * refactor(lifecycle): separate effects from evaluators by @cniska in https://github.com/cniska/acolyte/pull/73 * refactor(core): remove modes by @cniska in https://github.com/cniska/acolyte/pull/78 * feat(security): workspace sandbox by @cniska in https://github.com/cniska/acolyte/pull/79 * feat(providers): rate limit awareness by @cniska in https://github.com/cniska/acoMedium4/1/2026
v0.10.0## What's Changed * refactor(tools): remove partial read support from read-file by @cniska in https://github.com/cniska/acolyte/pull/60 * feat(trace): compact default output by @cniska in https://github.com/cniska/acolyte/pull/61 * feat(tools): add run-tests tool with test runner detection by @cniska in https://github.com/cniska/acolyte/pull/66 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.9.0...v0.10.0Medium3/26/2026
v0.9.0## What's Changed * feat(lifecycle): wait for user input on blocked signal by @cniska in https://github.com/cniska/acolyte/pull/51 * feat(lifecycle): auto-detect workspace profile by @cniska in https://github.com/cniska/acolyte/pull/53 * fix(lifecycle): handle pre-existing verify failures by @cniska in https://github.com/cniska/acolyte/pull/56 * feat: add task checklist by @cniska in https://github.com/cniska/acolyte/pull/57 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.8.0.Medium3/24/2026
v0.8.0## What's Changed * feat(memory): semantic recall by @cniska in https://github.com/cniska/acolyte/pull/43 * refactor(trace): migrate lifecycle events to SQLite by @cniska in https://github.com/cniska/acolyte/pull/44 * feat(tools): persist tool cache with SQLite by @cniska in https://github.com/cniska/acolyte/pull/46 * feat(cli): add logs command by @cniska in https://github.com/cniska/acolyte/pull/48 * refactor(i18n): move t() calls out of server-side code by @cniska in https://github.com/cniskaLow3/21/2026
v0.7.0## What's Changed * refactor(arch): standardize dependency injection pattern by @cniska in https://github.com/cniska/acolyte/pull/30 * refactor(tui): extract chat-ui state and fix render flicker by @cniska in https://github.com/cniska/acolyte/pull/28 * feat(cli): add trace command by @cniska in https://github.com/cniska/acolyte/pull/33 * refactor(cli): migrate commands to CliOutput by @cniska in https://github.com/cniska/acolyte/pull/40 * refactor(memory): migrate distill storage to SQLite by @cLow3/20/2026
v0.6.0## What's Changed * feat(search-files): add structured recovery by @cniska in https://github.com/cniska/acolyte/pull/15 * feat(file-toolkit): gitignore-based file discovery by @cniska in https://github.com/cniska/acolyte/pull/18 * feat(code-toolkit): scoped structural rename by @cniska in https://github.com/cniska/acolyte/pull/20 * feat(scan-code): enclosingSymbol and withinSymbol by @cniska in https://github.com/cniska/acolyte/pull/21 * refactor(chat): structured display types and pending stateLow3/18/2026
v0.5.0## What's Changed * fix(edit-file): harden bounded edit recovery by @cniska in https://github.com/cniska/acolyte/pull/9 * feat(code-toolkit): add structured AST operations by @cniska in https://github.com/cniska/acolyte/pull/11 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.4.0...v0.5.0Low3/15/2026
v0.4.0**Full Changelog**: https://github.com/cniska/acolyte/compare/v0.3.1...v0.4.0Low3/14/2026
v0.3.1## What's Changed * feat(chat): replace /tokens with /usage and add prompt breakdown by @cniska in https://github.com/cniska/acolyte/pull/10 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.3.0...v0.3.1Low3/14/2026
v0.3.0## What's Changed * refactor(lifecycle): improve lifecycle feedback loop by @cniska in https://github.com/cniska/acolyte/pull/6 * feat(cli): support local models via ollama setup by @cniska in https://github.com/cniska/acolyte/pull/7 * feat(lifecycle): add completion signaling by @cniska in https://github.com/cniska/acolyte/pull/8 **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.2.0...v0.3.0Low3/14/2026
v0.2.0## What's Changed * feat: lifecycle hardening — loop guards, lint evaluator, stream types by @cniska in https://github.com/cniska/acolyte/pull/1 * fix(server): harden local auth and stabilize hermetic tests by @cniska in https://github.com/cniska/acolyte/pull/4 * feat(agent): per-tool timeout and guard circuit breaker by @cniska in https://github.com/cniska/acolyte/pull/3 * refactor(chat): fix skill slash command activation by @cniska in https://github.com/cniska/acolyte/pull/5 * feat(tui): custLow3/13/2026
v0.1.1### Bug Fixes - Ensure `~/.acolyte` directory exists before server log redirect on first run ### Improvements - Combine benchmark scripts into single `benchmark.ts` - Remove `talks/` directory from repo **Full Changelog**: https://github.com/cniska/acolyte/compare/v0.1.0...v0.1.1Low3/13/2026
v0.1.0**Full Changelog**: https://github.com/cniska/acolyte/commits/v0.1.0Low3/12/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

vibe-replayTurn AI coding sessions into animated, interactive web replaysv0.2.3
piclawI'm going to build my own OpenClaw, with blackjack... and bun!v2.6.1
opencode-telegram-botOpenCode mobile client via Telegram: run and monitor AI coding tasks from your phone while everything runs locally on your machine. Scheduled tasks support. Can be used as lightweight OpenClaw alternav0.21.1
night-watch-cliAI agent that implements your specs, opens PRs, and reviews code overnight. Queue GitHub issues or PRDs, wake up to pull requests.master@2026-06-03
codebot-aiSafe, local-first autonomous coding agent. Policy-governed, audit-trailed, sandboxed. Works with any LLM.v2.10.0

More in AI Agents

@blockrun/franklinFranklin — The AI agent with a wallet. Spends USDC autonomously to get real work done. Pay per action, no subscriptions.
hermes-agentThe agent that grows with you
awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
e2bE2B SDK that give agents cloud environments