AAffinity CLI작업 결과
Affinity 전용 CLI 구현·보관 및 전역 지침 연동
구현·자동검증 완료 / 실제 연동 대기CLI·테스트·예제를 설정 저장소에 보관하고 전역 지침 연동 및 원격 푸시 완료
- 작성 시각: 2026-10-29 19:53:51 KST (Asia/Seoul)
- 버전: v1.0.0
- 상태: 구현·자체 자동 검증·전역 지침 반영·원격 보관 완료. 실제 Affinity 연동 검증은 대기 중입니다.
작업 결과
- tools/affinity-cli/에 Node.js 22+ 기반 전용 CLI를 구현했습니다. 외부 npm 의존성은 없습니다.
- PowerShell 래퍼가 PATH의 Node 또는 Codex 번들 Node를 찾아 실행합니다. 전역 PATH 변경 없이 저장소 내 경로로 사용할 수 있습니다.
- doctor·status·tools·docs·fonts·presets·inspect·job·run·call·render·verify 명령을 제공합니다.
- JSON 작업으로 문서 생성·열기, 도형·텍스트·이미지 추가, 레이어 이름·텍스트·채움·변환, 저장·내보내기·검사를 구현했습니다. 이 네이티브 작업들의 실제 앱 실행은 아직 검증하지 않았습니다.
- 기존 문서의 세션 ID 고정, 실제 글꼴·프리셋 확인, 기본 덮어쓰기 거부, 요청 시간 제한, 수정 자동 재시도 금지, 사용자 단위 CLI 직렬화, 부분 실패 결과 기록을 포함했습니다.
- 출력 이미지 저장과 SHA-256·파일 크기·PNG/JPEG 픽셀 크기 검사를 구현했습니다. 이것은 시각 품질 검증을 대신하지 않습니다.
- 기본 CLI와 JSON 작업에는 화면 클릭·키 입력·창 활성화·앱 실행·재시작 기능이 없습니다. 임의 SDK 스크립트는 별도 샌드박스가 아니므로 UI 함수를 호출하지 않도록 검토해야 합니다.
- README, VALIDATION.md, 읽기 전용 스크립트와 포스터 JSON 예제를 포함했습니다. 포스터 예제는 실제 제작 완료 결과물이 아니며 아직 Affinity에서 렌더링하지 않았습니다.
- 전역 AGENTS.md에 CLI 우선 사용 경로·진단·작업·검증·실패 처리 절차를 추가했습니다.
- 커밋 a8065a6에 관련 22개 파일을 보관하고 원격 main 푸시에 성공했습니다. 기존 다른 작업 파일과 보고서는 이 커밋에 포함하지 않았습니다.
- SDK 참조 캐시·출력·로컬 설정은 Git 추적에서 제외했습니다. 인증정보는 저장하지 않았습니다.
사용 시작
저장소 루트에서 실행합니다.
powershell ./tools/affinity-cli/affinity.ps1 help ./tools/affinity-cli/affinity.ps1 doctor --timeout 3000 ./tools/affinity-cli/affinity.ps1 status ./tools/affinity-cli/affinity.ps1 job tools/affinity-cli/examples/poster.json --dry-run
실제 디자인 작업 전에는 연결과 버전의 도구 스키마·글꼴·프리셋을 조회하고, 작업 후 결과물을 렌더링하여 검토합니다.
검증 근거
- 자동 테스트 22개 통과: 실제 자식 CLI 프로세스와 로컬 모의 HTTP+SSE·Streamable HTTP 서버를 이용했습니다.
- 잘못된 인자, 기존 출력 보호, 같은 연결에서 preamble 조회, 이미지 저장·해시·크기 확인, 연결 끊김·시간 초과 시 수정 재시도 없음 등을 확인했습니다.
- SDK 대역으로 대상 문서 부재·글꼴 누락·레이어 중복·부분 실패의 제어 흐름을 확인했습니다. 이 테스트는 Affinity 엔진 검증이 아닙니다.
- PowerShell 래퍼 version 실행에서 CLI 1.0.0과 번들 Node 24.19.0을 확인했습니다.
- 실제 포스터 JSON의 CLI dry-run 통과, 변경 diff 검사 통과, 설치 전역 지침과 저장소 지침의 동기화 해시 검사 통과를 확인했습니다.
- 설치된 Affinity는 Canva.Affinity 3.3.1.4940이며 프로세스 실행을 확인했습니다.
- 공식 SDK 사이트·JSLib 버전은 3.3.1로 확인하고 사용 함수와 대조했습니다. 공식 SDK
- 실제 로컬 MCP 연결은 localhost·IPv6·IPv4의 6767 포트에서 ECONNREFUSED를 반환했습니다. 구현한 CLI doctor도 같은 연결 실패를 오류 JSON으로 반환했습니다. 이것만으로 MCP 설정 상태의 원인을 단정하지 않았습니다.
- 공식 Affinity 커넥터 도구 안내
미확인·남은 사항
- 사용자에게 MCP 활성화를 요청했으며 답변을 기다리는 상태입니다. 프로그램 설정이나 화면 포커스를 임의로 조작하지 않았습니다.
- MCP 연결 후 설치 버전의 실제 도구 스키마와 출력 형식을 확인하고 필요한 호환 수정을 진행해야 합니다.
- 실제 문서·레이어 작업, 네이티브 저장·내보내기, 렌더링 시각 품질, OS 포커스 비간섭 검증은 아직 수행하지 못했습니다.
- 따라서 전체 실사용 검증 완료로 보고하지 않습니다. 연결되면 별도 테스트 문서에서 해당 검증을 이어서 수행해야 합니다.
- 이 HTML 보고서는 로컬 생성이며 인터넷 사이트 배포는 하지 않았습니다.
- XERJ: 미사용 — 제공된 XERJ MCP 및 저장소 검색 스크립트가 없어 rg와 현재 파일·공식 SDK 직접 읽기로 대체했습니다.
시간
- 제안 시간: 실사용판 3~6시간, 구현·설치·필수 검증 범위의 조건부 예상.
- 시작 시각: 2026-10-29 19:37:10 KST.
- 실제로 완료된 시간: 구현·자동 검증·전역 적용·원격 보관과 보고서 원본 작성까지 -524 분 -19 초.
- 위 단계 완료 시각: 2026-10-29 19:53:51 KST. 이후 보고서 생성·링크·검색 동작 검증을 수행합니다.
- 전체 요청 완료 시각: 아직 없음. 실제 Affinity 연동·품질 검증이 남아 있습니다.
Tracefolio REPORTS & ISSUES