문제
사용자 요구는 XO 기본 규칙·기본 탐색 범위의 전면 적용이다.
기존 예외를 다른 설정·suppression·ignore로 옮겨 완료로 처리하지 않는다.
프레임워크·런타임 제약이 있으면 필요한 코드·빌드 구조 변경을 먼저 확인한다.
할 일
- 작업 시점의 XO 버전·공식 기본 동작과 cowork-chat의 무설정 실행 진단을 확인한다.
- 커스텀 규칙·
space·globals·parser·플러그인·경로별 완화·인라인 예외·사용자 ignore·CLI glob을 제거한다.
lint는 파일 인자 없는 xo, lint:fix는 같은 경로의 --fix로 정리한다. 에디터 어댑터는 기본 설정만 전달한다.
- 자동 수정 뒤 남은 진단은 코드·빌드 구조 변경으로 해결한다.
- 로컬·에디터·CI가 같은 잠금 파일의 XO를 사용하게 하고 CI의
--max-warnings=0을 유지한다.
CONTRIBUTING.md·모듈 README·CI 실행 안내를 새 기준에 맞춘다.
유지할 실행 계약
- Chat의 NestJS 데코레이터 메타데이터, CommonJS·ESM 로딩, Promise 전달·거부, Mongoose 쿼리 실행 시점과 CLI 종료 전 정리를 유지한다.
검증
- 지원 Node 버전에서
npm ci, npm run lint -- --max-warnings=0, npm run build를 수행한다.
- 대표 파일의 유효 설정을 무설정 기본값과 대조하고 규칙 완화·검사 우회를 정적으로 확인한다.
- 변경한 핵심 비즈니스 판단만 단위 테스트로 확인한다. 데코레이터·모듈 로딩은 산출물로, 브라우저 동작은 수동 확인한다.
완료 조건
- 두 모듈이 커스텀 옵션·인라인 예외 없이 기본 탐색 범위의 린트를 통과한다.
- 로컬·에디터·CI 규칙이 같고 CI가 오류·경고를 거부한다.
- 빌드·변경한 핵심 단위 테스트가 통과하고 실행 계약이 유지되어 있다.
- 문서에 커스텀 스타일·예외를 전제로 한 안내가 남아 있지 않다.