feat: interactive Ink REPL as bare zcode-acp default (ADR-0007) - #76
Merged
Conversation
Unified CLI (ADR-0007): - bins pruned to zcode-acp + zcode-acp-server, both resolving to dist/cli.js; subcommands quota/hub/server, bare invocation opens the REPL - zcode-acp-hub and zcode-quota bins removed (files stay, spawned by path); README carries the 0.11 migration table - interactive Ink REPL: streaming output, tool rows, arrow-key permission picker, FIFO prompt queue, bulk-paste segmentation - entry points export main() behind cross-platform invokedDirectly guards; bare no-TTY invocation falls back to the stdio server (Windows shims lose the bin name from argv) - acpx dependency dropped before release; engines stay >=22.0.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Every surface of the package now lives under one command —
zcode-acp— with an interactive terminal chat as the bare default (ADR-0007).Unified CLI + bin pruning
zcode-acpandzcode-acp-server, both symlinks todist/cli.js; dispatch keys offbasename(argv[1]), so existing editor configs keep working unchanged.quota(was thezcode-quotabin),hub(waszcode-acp-hub),server. Old bin files stay indist/bin/because bridges spawn the hub by absolute path.Interactive REPL (bare
zcode-acp)Ctrl-Cturn cancel (idle: press twice to quit).splitBulkInput): every CR/LF-separated line submits; nothing silently dropped.Hardening
index.ts,bin/hub.ts,bin/quota.ts) exportmain()behindinvokedDirectlyguards that normalize Windows backslash paths.node …\dist\cli.js, losing the bin name from argv; explicitzcode-acp replstill hard-fails without a TTY.>=22.0.0.Test plan
pnpm build/pnpm typecheck/pnpm lintgreensplitBulkInputtests and updated dispatcher tests/exitclean exit, zero stray processeszcode-acp < /dev/nullruns the server and exits 0 on EOF;zcode-acp replerrors with exit 2initializewith agent info through the unified entry.zcode/reviews/2026-08-25-unified-cli-review.md(local)