말하기 전까지 아무것도 실행되지 않습니다
세터는 의도를 쌓기만 하고, toArgv()는 실행 없이 정확한 명령줄을 보여줍니다.
ActiveRecord to_sql의 대응물입니다.
import { AssistantEvent, Claude, Command } from 'activecli';
const command = Command.open(Claude, { workingDir: '/path/to/project' });
command .subscribe((event) => { if (event instanceof AssistantEvent) process.stdout.write(event.text); }) .onPermission((request) => request.approve());
await command.setMessage('실패하는 테스트를 고쳐줘').send();
command.close();말하기 전까지 아무것도 실행되지 않습니다
세터는 의도를 쌓기만 하고, toArgv()는 실행 없이 정확한 명령줄을 보여줍니다.
ActiveRecord to_sql의 대응물입니다.
하나의 인터페이스, 여러 CLI
추상 어댑터와 백엔드별 구현 하나씩. 어떤 CLI를 다룰지 바꾸는 일은 호출부를 다시 쓰는 게 아니라 다른 하위 클래스를 고르는 일입니다.
어려운 부분이 핵심입니다
실행 파일 찾기, Windows 인용, WSL 경로, 프로세스 트리 전체 종료, 그리고 하드 킬된 호스트에서 살아남기.
세 플랫폼에서 검증됩니다
Linux, macOS, Windows CI에서 — 이 라이브러리의 절반은 작성된 기계에서는 실행조차 되지 않는 코드이기 때문입니다.