anyviz

AI Coding ToolsCLIPython

★ 58조회 3

무엇인가

anyviz는 AI 코딩 도구에 데이터 시각화 판단 규칙을 공급하는 규격·워크플로 라이브러리다. 차트를 그리는 코드 자체가 아니라, 어떤 차트를 고르고 어떤 색·글꼴·레이블을 적용할지를 정한 명세 묶음이다. AI가 이 명세를 컨텍스트로 읽고 대상 스택의 코드를 생성하는 구조로, 렌더링 라이브러리 앞단에 놓인다.

어떻게 동작하나

진입점은 SKILL.md다. AI는 SKILL.md를 먼저 읽고 guides/, templates/, adapters/, aesthetics/ 디렉터리를 필요할 때 참조한다. 요청은 분석 → 미학 → 어댑테이션 → 일관성 → 접근성 다섯 단계로 처리된다. 분석 단계에서 데이터 형태와 의도(비교·분포·관계·구성·추세·지리·계층·흐름)를 34종 템플릿에 매핑하고, 미학 단계에서 전역 색상·글꼴 등급을 적용하며, 어댑테이션 단계에서 프로젝트 의존성을 감지해 D3.js·ECharts·Plotly 같은 엔진용 코드를 출력한다. 일관성 단계는 엔티티 색상·숫자 포맷·간격을 동기화하고, 접근성 단계는 대비·색맹 대응·대체 텍스트를 처리한다. 각 템플릿은 templates/TEMPLATE-SPEC.md가 정의한 적용 시나리오·데이터 형식·미학 파라미터·디자인 포인트·변형의 다섯 구획을 따른다. 명세는 순수 JSON으로 정의되어 스크립트에서 직접 읽을 수 있다.

무엇과 다른가

ECharts·D3.js·Plotly·ggplot2 같은 차트 라이브러리는 렌더링을 담당하고, anyviz는 그 앞단에서 무엇을 어떻게 그릴지 결정한다. 고정 테마와도 다르다. 명시하지 않은 속성은 전역 명세에서 상속되고, 여러 차트가 한 캔버스에 놓이는 레이아웃에서는 검증기가 이 상속을 강제한다. 호출자가 색 하나만 덮어써도 글꼴·간격·그리드선은 규격을 유지한다. 기본 modern 테마는 Observable Plot의 설계 언어를 따르며, 색상 체계는 Tufte의 데이터 잉크 비율과 ColorBrewer·Viridis의 지각 균등·색맹 대응 원리에 기반한다.

어떻게 쓰나

macOS·Linux에서는 설치 스크립트 한 줄로 현재 사용자의 감지된 모든 Agent에 설치하고, Windows에서는 PowerShell 명령을 쓴다. 설치기는 Codex·Cursor·OpenCode·OpenClaw·Cline·Kimi Code CLI·Warp·Zed가 공유하는 Agent Skills 디렉터리를 채우고, Claude Code·Hermes Agent·Gemini CLI·GitHub Copilot·Windsurf·Goose처럼 별도 디렉터리를 쓰는 도구는 자동 감지한다. 같은 명령을 다시 실행하면 갱신되고, 설치기가 관리하지 않는 동명 Skill이 있으면 원본을 타임스탬프가 붙은 백업으로 남긴다. npm 설치나 저장소를 컨텍스트로 직접 추가하는 방식도 있다. 자연어 지시는 guides/customization-guide.md의 매핑을 거쳐 미학 파라미터로 변환된다.

전제와 한계

설치기 자체는 Node.js나 Python에 의존하지 않는다. 다만 anyviz는 명세와 워크플로만 담고 렌더링은 하지 않으므로, 실제 출력물은 대상 스택(Web의 D3.js·ECharts·Mapbox·Three.js, Python의 Plotly·Matplotlib, R의 ggplot2)이 그린다. examples/의 finance-trading·ecommerce-retail·iot-energy·city-geo는 ECharts 5.5.1을 쓴 단일 index.html 파일이며 1920×1080 기준으로 설계되고 반응형으로 조정된다. 라이선스는 MIT다.

유사 도구