MCPcopy Index your code
hub / github.com/acai-sh/cli

github.com/acai-sh/cli @v0.0.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.4 ↗ · + Follow
203 symbols 557 edges 37 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

License

Acai.sh CLI

The acai Command-line Interface helps you (or your agent, or script) perform common actions related to spec-driven development with Acai.

Primarily, it is used to push and pull specs and metadata to an acai server, and to read implementation status and notes from the server as well.

It works with our official hosted server, or your own self-hosted instance.

For Quickstart, docs and tutorials see https://acai.sh.

Install

The CLI is available on NPM as a JavaScript bundle.

npm i -g @acai.sh/cli

If you don't have a JavaScript runtime, we have macOS and Linux releases available on GitHub.

Install from release

You can install a standalone binary directly from a GitHub release asset. For example, on Linux x64:

curl -fL https://github.com/acai-sh/cli/releases/download/<version>/acai-linux-x64 -o acai
chmod +x acai
sudo mv acai /usr/local/bin/acai
acai --help

If you prefer a user-local install without sudo:

mkdir -p "$HOME/.local/bin"
curl -fL https://github.com/acai-sh/cli/releases/download/<version>/acai-linux-x64 -o "$HOME/.local/bin/acai"
chmod +x "$HOME/.local/bin/acai"
"$HOME/.local/bin/acai" --help

Project overview

The CLI is written in TypeScript with bun and commander. It is aligned to the Acai.sh API using openapi-fetch and openapi-typescript.

Local development

The repo includes a .devcontainer.json so you can get up and running quickly. devpod cli is recommended but not required.

# from cli repo root
devpod up .

If you don't have devpod, you can open the repo in Zed/VSCode and click "open in devcontainer".

License

Apache 2.0. Contributors must sign a Contributor License Agreement. You are free to use, modify, and distribute this software, including for commercial purposes, under the terms of the license.

Security

See our security checklist to understand how we protect this project and our users.

Extension points exported contracts — how you extend this code

FakeGitContext (Interface)
(no doc)
test/support/fake-git.ts
WriteStreamLike (Interface)
(no doc)
src/core/output.ts
TempWorkspace (Interface)
(no doc)
test/support/e2e.ts
OutputPorts (Interface)
(no doc)
src/core/output.ts
MockApiServer (Interface)
(no doc)
test/support/mock-api.ts
CommandResult (Interface)
(no doc)
src/core/output.ts
SpawnedCliResult (Interface)
(no doc)
test/support/cli.ts
GitContext (Interface)
(no doc)
src/core/git.ts

Core symbols most depended-on inside this repo

runCliSubprocess
called by 64
test/support/cli.ts
cleanup
called by 40
test/support/e2e.ts
stop
called by 39
test/support/mock-api.ts
createMockApiServer
called by 38
scripts/verify-npm-artifact.mjs
apiEnv
called by 36
test/support/e2e.ts
push
called by 30
src/core/api.ts
buildImplementationsResponse
called by 29
test/support/fixtures.ts
usageError
called by 26
src/core/errors.ts

Shape

Function 132
Interface 54
Method 15
Class 2

Languages

TypeScript100%

Modules by API surface

src/core/push.ts44 symbols
src/core/api.ts18 symbols
scripts/verify-npm-artifact.mjs17 symbols
src/core/git.ts14 symbols
src/core/output.ts13 symbols
src/core/runtime.ts12 symbols
src/core/targeting.ts9 symbols
src/core/set-status.ts9 symbols
src/core/skill.ts8 symbols
test/support/fixtures.ts7 symbols
src/core/feature.ts6 symbols
src/core/cli.ts6 symbols

For agents

$ claude mcp add cli \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact