@cskhw/rush-cli
v0.0.1
Published
SDD-first coding agent CLI prototype
Readme
rush-cli
rush-cli is a lightweight, JavaScript runtime, SDD-first coding agent CLI prototype.
Run
pnpm install
pnpm run build
node src/cli.js원격 Ollama 서버(cli.do4ai.com) 기본 접속 예시:
pnpm install -g .
CLI_DO4AI_ENDPOINT=https://cli.do4ai.com rush-cli --provider ollama --model q4km --permission auto실행 가능한 slash 명령:
/help: show help/permissions [ask|auto|safe]: set permission mode/model [spark|heavy|q4km]: switch model profile/spark: quick set spark profile/heavy: quick set heavy profile/q4km: quick set q4km profile (Qwen3.5-35B-A3B Q4_K_M)/approve: execute last blocked unsafe step after approval/todo [add|run|done|block|remove|list]: task workflow for code execution/plan: show last plan/review: show recent run status/diff: show git diff/context: show recent memory summary/compact: memory summary note/exit: close session
툴 직접 실행 예시:
/tools: 툴 목록 조회/tool <name>: 단일 툴 상세 조회/list path=src depth=2/read path=README.md/write path=src/new.txt content="..."(ask 모드면 승인 필요)/append path=README.md content="..."/edit path=src/a.txt oldText="before" newText="after"/grep pattern="TODO" path=src/search pattern=keyword path=src/find name=rush-cli path=src/bash command="npm -v"/git sub=status/apply_patch patch=\"@@...\"
투두 예시:
/todo add "README의 설치 가이드를 npm 기준으로 정리해줘"/todo list/todo run 1/todo done 1
비인터랙티브 플래그:
--model <spark|heavy|q4km>--permission <ask|auto|safe>--session <session-id>--provider <ollama|mock>(ollama 모드에서 local planner 사용)--endpoint <https://cli.do4ai.com | http://127.0.0.1:11434>- 환경변수 우선순위:
CLI_DO4AI_ENDPOINT>AGENT_CLI_OLLAMA_ENDPOINT>OLLAMA_ENDPOINT
Non-interactive
node src/cli.js "리스트 보여줘"설치/빌드/배포 (런타임: Node.js, 개발 빌드: pnpm)
pnpm install
pnpm run build개발 빌드가 끝나면 배포 시 npm 방식으로 패키징/설치:
npm pack # 패키지 tarball 생성
npm publish # 레지스트리 배포
npm install -g @cskhw/rush-cli # 사용자 머신에서 전역 설치Node 런타임 + pnpm 개발 환경 기준으로 빌드하고, npm 레지스트리 배포/설치가 가능합니다.
CLI_DO4AI_ENDPOINT=https://cli.do4ai.com rush-cli --provider ollama --model q4km "리스트 보여줘"Ollama 연결이 없으면 자동으로 규칙 기반 fallback 플래너로 동작합니다.
Files
src/cli.js: CLI entrypointsrc/orchestrator.js: command orchestration and planning executionsrc/provider.js: local heuristic plan generatorsrc/tools.js: tool registry and executionsrc/session.js: turn/session persistencesrc/config.js: permission/model/tool config
Runtime state:
.rush-cli/config.json.rush-cli/sessions/<session>.json
