프로젝트 소개
CLI Printing Press는 임의의 API나 웹사이트를 위한 명령줄 도구와 MCP 서버를 생성하는 생성기로, AI 에이전트가 사용하기에 적합하도록 중점을 둡니다. Go로 작성되었으며, 바이너리와 바이너리를 구동하는 에이전트 스킬(슬래시 명령) 세트로 배포됩니다.
기능
- 공식 API 문서를 읽고, 인기 있는 커뮤니티 CLI 및 MCP 서버를 연구하며, 브라우저 트래픽을 캡처하여 문서화되지 않은 API를 역설계할 수 있습니다.
- OpenAPI 스펙, 웹사이트 URL 또는 HAR 파일을 입력으로 받습니다.
- API당 두 개의 바이너리를 생성합니다: Cobra 기반 CLI(`<api>-pp-cli`)와 MCP 서버(`<api>-pp-mcp`)로, 동일한 클라이언트, 저장소 및 인증 코드를 공유합니다.
- 코드와 함께 연구 문서, 검증 증명 및 품질 점수를 생성합니다.
주요 설계 포인트
- 로컬 우선 데이터 계층: 도메인별 SQLite 테이블, FTS5 전체 텍스트 검색, 커서 추적을 통한 증분 동기화, 직접 쿼리를 위한 `sql` 명령. `sync`, `search`, `sql` 같은 명령은 오프라인에서 작동합니다.
- 복합 명령: 데이터가 로컬에 있으면 `stale`, `health`, `bottleneck`, `reconcile` 같은 명령이 리소스 간 조인하고 기록을 분석할 수 있습니다.
- 에이전트 네이티브 출력: 터미널에서 사람이 읽을 수 있는 테이블, 파이프 시 자동 JSON, 토큰 출력 감소를 위한 `--compact`, 유형화된 종료 코드(0/2/3/4/5/7), 모든 명령에 `--dry-run`, `--select`, `--csv`, `--stdin` 및 기타 플래그.
- 이중 인터페이스: CLI는 셸 기반 에이전트를 대상으로 하고, MCP 서버는 Claude Desktop 및 Cursor 같은 IDE 통합을 대상으로 합니다.
- 검증: 스코어카드, 도그푸딩, 동작 증명, 선택적 라이브 API 스모크 테스트를 통해 환각 경로, 죽은 플래그 및 인증 불일치를 잡아냅니다.
워크플로우
- 설치: 셸 스크립트가 생성기용 `go install`을 실행하고 `skills` npm CLI를 통해 스킬을 설치합니다. Claude Code가 기본 및 가장 잘 테스트된 대상이며, Codex는 `--agent codex` 플래그로 지원됩니다.
- 에이전트 세션 내에서 `/printing-press <app-name>`이 생성 실행을 시작합니다. 추가 명령으로 `/printing-press-reprint`, `/printing-press-polish`, `/printing-press-publish`, `/printing-press-amend`가 있습니다.
- 파이프라인은 resolve/reuse, research brief, ecosystem absorb gate, browser-sniff gate, generate, build the GOAT, shipcheck, 선택적 라이브 스모크 테스트 단계를 거칩니다. 중지, 재개 또는 개별 단계 재실행을 원하는 사용자를 위해 더 긴 9단계 관리 파이프라인이 문서화되어 있습니다.
- 출력은 `~/printing-press/` 아래에 정리되며, 활성 실행, 게시된 CLI 및 보관된 원고를 위한 별도 디렉토리가 있습니다.
주목할 만한 개념
- "비자명한 통찰"(NOI): API가 실제로 유용한 용도에 대한 한 문장 재구성으로, 생성된 명령의 창의적 기반으로 사용됩니다.
- "흡수 및 초월": 기존 도구 및 MCP 서버의 기능을 카탈로그화하고 매칭한 다음, 로컬 데이터로 가능한 복합 기능을 추가합니다.
- 단순 엔드포인트 래퍼에서 행동 통찰 명령까지의 "창의성 사다리".
요구 사항 및 주의 사항
- Go 1.26.6 이상, `npx`용 Node/npm, 스킬 지원 에이전트(Claude Code 테스트됨)가 필요합니다.
- README는 성능 및 품질 주장(예: 토큰 절약 및 속도)을 하지만, 이는 프로젝트 자체의 주장이며 독립적으로 검증된 벤치마크가 아닙니다.
- 저장소는 더 이상 소스 카탈로그를 포함하지 않습니다. 게시된 CLI는 별도 라이브러리 저장소에서 유지 관리됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.