2026 · Lint JSON · OpenClaw

2026 OpenClaw 프론트 실전:
원격 Mac에서 ESLint·Stylelint JSON 파싱 → 수정 브랜치 초안

2026.03.30 프론트·릴리즈 엔지니어링 약 9분 읽기

대상: 프론트 CI원격 Mac에서 돌리며 터미널 캡처 대신 기계 읽기 가능한 린트 게이트를 원하는 팀입니다. 키워드: OpenClaw, ESLint, Stylelint, JSON, 수정 브랜치. 설치·스크립트·보고서 경로 규약, CI·배포 전 배치, 실패 FAQ를 한 흐름으로 묶었습니다. package.json 스크립트 배포 전 점검·npm·pnpm audit JSON과 같이 두면 사전 검사 벨트가 완성됩니다.

경로 규약 · CI 게이트 매트릭스
목차

01 터미널 로그가 릴리즈를 막는 이유

통증 1 — 노이즈: 컬러 터미널은 규칙 ID가 잘 안 보여 복붙 지옥이 됩니다. 통증 2 — 경로 어긋남: 로컬 루트와 원격 Mac 워크스페이스가 다르면 리뷰 코멘트와 파일 행이 안 맞습니다. 통증 3 — 출구 코드 착시: 경고만 쌓여도 정책상 막아야 할 때가 있는데 종료 코드만 보면 놓칩니다.

구조화된 JSON이면 OpenClaw가 심각도 집계·규칙별 중복 제거·짧은 Markdown 브리프를 같은 티켓에 붙일 수 있어, 실패 파이프라인에서 실행 가능한 수정 브랜치 초안으로 바로 이어집니다.

02 설치·설정·포맷터 플래그

운영 CI와 같은 Node 메이저로 node -v를 고정하고 devDependencies에 린터를 둡니다. 예: eslint . -f json -o .openclaw/reports/eslint.json, stylelint "**/*.{css,scss}" --formatter json > .openclaw/reports/stylelint.json. 파이프라인 첫 단계에서 보고서 폴더를 만들어 셸이 빈 디렉터리 때문에 죽지 않게 하세요.

설정은 저장소에만 둡니다. 플랫 설정이면 eslint.config.js, 레거시면 .eslintrc, 스타일은 stylelint.config.js. 공유 프리셋 버전은 package.json에 명시해 원격 Mac 클론이 조용히 어긋나지 않게 합니다.

  • 인용: 커밋별 비교를 위해 .openclaw/reports/<짧은SHA>/ 패턴으로 JSON을 나누면 캐시·diff가 단순해집니다.
  • 인용: 모노레포는 패키지별 글롭으로 범위를 줄여 실수로 node_modules를 스캔하지 않게 합니다.
  • 인용: ESLINT_USE_FLAT_CONFIG나 명시적 --config를 워크플로 env 블록에 적어 재현성을 남깁니다.

03 OpenClaw용 산출물 경로 표

저장소마다 하나의 계약을 정하면 파서가 파일을 찾아 헤매지 않습니다. 아래는 기본안이며 접두만 바꾸고 파일명은 유지해 OpenClaw 캐시 키를 안정화하세요.

도구 권장 경로 파서 기대 형태
ESLint .openclaw/reports/eslint.json 파일별 messages 배열 또는 단일 객체
Stylelint .openclaw/reports/stylelint.json sourcewarnings, errored 플래그
아카이브 ci-artifacts/lint-<sha>.zip 두 JSON + versions.txt(node·패키지 버전)

04 CI·배포 전 순서와 게이트 표

의존성 설치와 선택적 타입체크 뒤에 린트 JSON을 두고, 번들링·장시간 Playwright·E2E 앞에 배치하세요. Apple Silicon 노드에서 흔한 순서는 클린 체크아웃 → 설치 → ESLint JSON → Stylelint JSON → 단위 테스트 → 빌드 → Lighthouse·죽은 링크·접근성 같은 배포 전 순찰 → 배포 스모크입니다. 순찰 임계값은 별도 가이드의 Lighthouse·a11y 게이트 글과 맞추면 됩니다.

파서 출력을 정책에 매핑합니다. 릴리즈 브랜치는 error 심각도 즉시 실패, 토픽 브랜치는 경고만 상위 N건 표시, 주간으로 경고 추세가 나쁘면 OpenClaw가 티켓을 엽니다.

단계 게이트 스타일 오너 신호
풀 리퀘스트 오류 차단, 경고 상위 10건 요약 인라인 파일 코멘트
스테이징 PR과 동일 + 번들 크기 메모 Slack 요약
프로덕션 태그 오류 0, 경고 예산 이하 오브젝트 스토리지에 JSON 보관

05 수정 브랜치 초안 5단계

게이트가 깨지면 사람에게 raw JSON 대신 브랜치 이름과 체크리스트를 넘깁니다.

  1. 두 JSON을 합쳐 규칙 ID 기준으로 건수를 한 객체로 요약합니다.
  2. 절대 경로 접두를 제거해 저장소 상대 경로로 정규화합니다.
  3. 자동 수정 가능한 규칙은 eslint --fix·stylelint --fix와 명시적 글롭을 제안합니다.
  4. 실패 SHA에서 chore/lint-openclaw-YYYYMMDD를 만들고 LINT_FIX.md에 표를 둡니다.
  5. 푸시 후 OpenClaw가 Markdown 브리프와 아카이브 JSON 링크를 같은 스레드에 남깁니다.

06 자주 묻는 실패(FAQ)

ESLint JSON이 잘립니다. stdout만 파이프하면 대형 저장소에서 버퍼 한계에 걸립니다. -o 파일 출력을 쓰고 로그는 tee로 분리하세요.

IDE와 Stylelint 결과가 다릅니다. 에디터는 설정 해석 순서가 다를 수 있습니다. CLI에 --config를 주고 stylelint --version을 산출물 옆에 기록하세요.

CI에서 린트를 빼고 훅만 쓰면 안 되나요? 훅은 감사 추적이 약합니다. 배포 전 기록을 남기려면 CI에서 JSON 생성은 유지하는 편이 안전합니다.

한 줄 정리

ESLintStylelint를 고정 보고서 경로의 JSON 생산자로 두고 OpenClaw로 파싱한 뒤, 무거운 UI 검증 앞에 단계를 끼우면 원격 Mac 워커마다 스택 트레이스를 다시 치지 않아도 수정 브랜치 초안까지 같은 패턴으로 재현됩니다.


Apple Silicon · 린트 JSON CI

린트 JSON 파이프라인용 원격 Mac — 로그인 없이 노드·요금 확인

MacWww에서는 계정 없이 홈에서 사양과 요금을 비교할 수 있습니다. SSH·자동화로 동일한 .openclaw/reports 규약과 CI 순서를 그대로 재현해 보세요. 팀은 Apple Silicon 단기 대여로 게이트를 검증하고, 상시 워커가 필요하면 구매 옵션과 비용 곡선을 맞추면 됩니다.

원격 Mac 요금 · 로그인 없음