{"_id":"@acolyte/cli","_rev":"3-d372aa140b709b76064dd4f33ac057dc","name":"@acolyte/cli","dist-tags":{"latest":"0.27.2"},"versions":{"0.27.1":{"name":"@acolyte/cli","version":"0.27.1","keywords":["ai","agent","cli","coding-agent","terminal","tui"],"license":"MIT","_id":"@acolyte/cli@0.27.1","maintainers":[{"name":"crisu83","email":"ChristofferNiska@gmail.com"}],"homepage":"https://acolyte.sh","bugs":{"url":"https://github.com/cniska/acolyte/issues"},"bin":{"acolyte":"bin/acolyte.cjs"},"dist":{"shasum":"d344276c81a880699c1164ad973d05c7f46d6332","tarball":"https://registry.npmjs.org/@acolyte/cli/-/cli-0.27.1.tgz","fileCount":5,"integrity":"sha512-kRV56507H4lC/dqJDLLHpO+6rLm4g1TaG0mLRNDALLE6CaBySVbARpeXq6sfFePUYCjU25t8aaolkDWYXCi9Nw==","signatures":[{"sig":"MEQCIDksv8SUPu4PcEv7Pf0suNlPRwAbzRq/vsQ84+W/2kB5AiAP9GsioIpWh7mK/+wI75ad+VcPtcKCKs8jF8jG6y3vbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11505},"engines":{"node":">=20"},"_npmUser":{"name":"crisu83","email":"ChristofferNiska@gmail.com"},"repository":{"url":"git+https://github.com/cniska/acolyte.git","type":"git"},"_npmVersion":"11.17.0","description":"The agent that knows you. An open-source AI coding agent for the terminal.","directories":{},"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"optionalDependencies":{"@acolyte/linux-x64":"0.27.1","@acolyte/darwin-arm64":"0.27.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.27.1_1788417734244_0.6871812336775325","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Incomplete publish - use 0.27.2 or later"},"0.27.2":{"name":"@acolyte/cli","version":"0.27.2","keywords":["ai","agent","cli","coding-agent","terminal","tui"],"license":"MIT","_id":"@acolyte/cli@0.27.2","maintainers":[{"name":"crisu83","email":"ChristofferNiska@gmail.com"}],"homepage":"https://acolyte.sh","bugs":{"url":"https://github.com/cniska/acolyte/issues"},"bin":{"acolyte":"bin/acolyte.cjs"},"dist":{"shasum":"04ae59b5f6f1b62f02c8d5a45e7c03e6c2cd70f7","tarball":"https://registry.npmjs.org/@acolyte/cli/-/cli-0.27.2.tgz","fileCount":5,"integrity":"sha512-NWr/dCSgkQcKad0U72rvLFW7Yl9mZDTC6o89wJb0wTFi9PR97qaYNw1BUCCOOcJ7r0EeI+VJC3NOFo2UUHcLyg==","signatures":[{"sig":"MEYCIQDFQjwus4Vpfe3cxLZi44QM1sWqqlc1LIer1U3zKfaIsgIhAKEBq1WR7hdGF8+9Xs9PA/uhqrvfoZCS5XB6djys/oJ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@acolyte%2fcli@0.27.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11505},"engines":{"node":">=20"},"gitHead":"1c09d16e461545a4533f4b7f42c5bccfce18560f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ff14daa-03dd-49ee-a4e5-e0c71bf72600"}},"repository":{"url":"git+https://github.com/cniska/acolyte.git","type":"git"},"_npmVersion":"12.0.2","description":"The agent that knows you. An open-source AI coding agent for the terminal.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"optionalDependencies":{"@acolyte/linux-x64":"0.27.2","@acolyte/darwin-arm64":"0.27.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.27.2_1788419291425_0.7790729555116762","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-09-03T06:42:14.064Z","modified":"2026-09-03T07:18:48.003Z","0.27.1":"2026-09-03T06:42:14.362Z","0.27.2":"2026-09-03T07:08:11.561Z"},"bugs":{"url":"https://github.com/cniska/acolyte/issues"},"license":"MIT","homepage":"https://acolyte.sh","keywords":["ai","agent","cli","coding-agent","terminal","tui"],"repository":{"url":"git+https://github.com/cniska/acolyte.git","type":"git"},"description":"The agent that knows you. An open-source AI coding agent for the terminal.","maintainers":[{"name":"crisu83","email":"ChristofferNiska@gmail.com"}],"readme":"# Acolyte\n\n[![CI](https://img.shields.io/github/actions/workflow/status/cniska/acolyte/ci.yml?style=flat&label=ci)](https://github.com/cniska/acolyte/actions/workflows/ci.yml)\n[![Version](https://img.shields.io/github/package-json/v/cniska/acolyte?style=flat)](https://github.com/cniska/acolyte)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat)](LICENSE)\n[![Bun](https://img.shields.io/badge/runtime-bun-f9f1e1?style=flat)](https://bun.sh)\n[![TypeScript](https://img.shields.io/badge/typescript-strict-3178c6?style=flat)](https://www.typescriptlang.org)\n\nThe agent that knows you.\n\nAcolyte is an open-source AI coding agent for the terminal. It remembers what it learns about you and your projects from the work itself, so you don't have to explain yourself twice.\n\n![Opening Acolyte, submitting a prompt, receiving a response with tool calls, exiting, and inspecting the task trace](docs/assets/demo.gif)\n\n## Install\n\n```bash\ncurl -fsSL https://acolyte.sh/install | sh\n```\n\nOr with [Homebrew](https://brew.sh):\n\n```bash\nbrew install cniska/tap/acolyte\n```\n\nOr with npm:\n\n```bash\nnpm install -g @acolyte/cli\n```\n\nEach installs the latest released binary for macOS and Linux, behind a launcher that keeps it up to date automatically — see [Updates](docs/updates.md). Pick one: two installs shadow each other on `PATH`. To run from source instead, see [Local development](#local-development).\n\nRequires Git 2.14 or newer on `PATH`: Acolyte reports every file edit as a Git diff, and `/workspaces` manages Git worktrees.\n\n## Runtime model\n\n```text\nCLI → typed RPC → task queue → lifecycle → model + tools\n```\n\n- **Daemon:** A persistent server with typed RPC for the CLI, editors, and custom clients.\n- **Lifecycle:** Explicit, testable phases, effects, and completion rules.\n- **Memory:** Durable session, project, and user context retrieved on demand.\n- **Workspace:** Detected project commands and a validated boundary for tool access.\n- **Context:** Planned input budgets, bounded tool payloads, and visible token use.\n- **Trace:** Local task timelines and structured logs for runtime inspection.\n\nThe codebase is TypeScript on Bun, with Zod validation at runtime boundaries and direct dependency injection rather than a container. Read [Architecture](docs/architecture.md) for the component model and [Lifecycle](docs/lifecycle.md) for request execution.\n\n## Local development\n\nRequires [mise](https://mise.jdx.dev) and Git 2.14 or newer.\n\n```bash\ngit clone https://github.com/cniska/acolyte.git\ncd acolyte\nmise install\nbun install\nbun run dev\n```\n\n`bun run dev` starts a watch-mode daemon and opens the CLI client. It restarts any local daemon already using the development port, then stops the daemon it started when the client exits.\n\nFor daily dogfooding, link the checkout CLI into your PATH:\n\n```bash\nmkdir -p ~/.local/bin\nln -sf \"$PWD/src/cli.ts\" ~/.local/bin/acolyte\n```\n\nUse `scripts/install.sh` only when you want the latest released binary instead of the local source checkout.\n\nProvider credentials are not needed to run the test suites. To use the agent against a provider while developing, configure one once for your user account:\n\n```bash\nbun run src/cli.ts auth vercel --key\n```\n\nThis stores the key in Acolyte's private global credentials file. Use `openai`, `anthropic`, or `google` instead to configure a direct provider. See [Configuration](docs/configuration.md) for credential precedence, local models, and provider settings.\n\n## Common commands\n\n\n| Command                  | Purpose                                                          |\n| ------------------------ | ---------------------------------------------------------------- |\n| `bun run dev`            | Start the watch-mode daemon and interactive CLI.                 |\n| `bun run dogfood`        | Run the local CLI with debug logging against the current source. |\n| `bun run run \"<prompt>\"` | Run a one-shot task from the current source.                     |\n| `bun run serve`          | Start only the daemon.                                           |\n| `bun run format`         | Format the repository with Biome.                                |\n| `bun run verify`         | Run linting, type checking, all tests, and the dependency audit. |\n\n\n\n\n## Testing\n\nRun focused suites while iterating:\n\n```bash\nbun test\nbun run test:unit\nbun run test:int\nbun run test:tui\nbun run test:perf\n```\n\n`bun test` runs every test. `bun run verify` is the required full validation before a pull request. See [Testing](docs/testing.md) for test boundaries, naming, and coverage.\n\n## Repository layout\n\n\n| Path         | Purpose                                                              |\n| ------------ | -------------------------------------------------------------------- |\n| `src/`       | CLI, daemon, lifecycle, tools, memory, protocol, and terminal UI.    |\n| `docs/`      | Canonical product, runtime, and development documentation.           |\n| `scripts/`   | Development, release, test, benchmark, and behavior-harness scripts. |\n| `.githooks/` | Hooks installed by `bun install`.                                    |\n\n\nSee [src/README.md](src/README.md) for source-module naming, entry points, test suffixes, and subsystem directories.\n\nRead [AGENTS.md](AGENTS.md) before changing an unfamiliar subsystem. It defines architectural extension points, invariants, and test boundaries.\n\n## Documentation\n\n- [Documentation index](docs/README.md)\n- [Architecture](docs/architecture.md)\n- [Lifecycle](docs/lifecycle.md)\n- [CLI](docs/cli.md)\n- [Configuration](docs/configuration.md)\n- [Testing](docs/testing.md)\n\n\n\n## Contributing\n\nContributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) and [AGENTS.md](AGENTS.md).\n\n## License\n\n[MIT](LICENSE) © Christoffer Niska\n","readmeFilename":"README.md"}