chore: build agent harness and clean up Nx/Tistory migration residue - #177
Merged
Merged
Conversation
하네스
- AGENTS.md: 사실의 단일 출처 (패키지 지도, 별칭, 컴포넌트 규약과 배럴 확장자 표,
클라이언트 경계, 블로그 렌더 경로, 개인 데이터, 명령 ID 표, 남은 함정)
- CLAUDE.md: @AGENTS.md 임포트 + 바뀌는 파일 종류 기반 스킬 라우팅
- .claude/skills/{blog-post,ui-component,career-record,smart-shopping}/SKILL.md
정리 (베이스라인에서 lint/test/storybook 전부 실패 또는 no-op이었음)
- pnpm 7.29.1 -> 7.33.7: 7.29.1 은 Node 20+ 에서 ERR_INVALID_THIS 로 install 자체가
불가능했다. 락파일 형식(v5.4)은 그대로다.
- jest: testEnvironment jsdom 누락으로 렌더 스펙 전부가 실행조차 안 되고 있었다.
@bbl-nx/* 별칭 맵과 함께 jest.preset.js 로 통합하고 jest.config.base.ts 를 제거.
- storybook: @nx/react/plugins/storybook 이 하던 tsconfig path 해석을
tsconfig-paths-webpack-plugin 으로 대체, .babelrc 8개와 babel.config.json 제거 후
preset-typescript 만 추가, tailwind purge -> content, webpackFinal 의 rule.test 가드.
프리뷰 실패가 exit 0 으로 끝나던 문제 때문에 CI 에 iframe.html 검증 스텝을 넣었다.
- @babel/core 7.21.0 핀 -> ^7.22.0 (next/babel 이 요구. 앱에 test 스크립트가 없어 가려져 있었다)
- plop: post 는 없는 루트 posts/ 에 쓰고 있었고, ui-components 는 features 배럴 경로가
틀려 마지막 액션에서 throw 했다. toKebabCase/toPascalCase 도 PascalCase 입력을 못 다뤘다.
- 죽은 코드 제거: libs/apis, tools/workspace-plugin, Tistory 잔재, BlogItem.isExternal/url,
post.ts 의 존재하지 않는 /api/posts 분기, apps/bbl-nextjs Storybook 설정, 죽은 의존성 13개
- CI: 5 job -> 4. 손수 만든 node_modules 캐시를 setup-node cache:pnpm 으로 바꾸고
버전은 .nvmrc / packageManager 를 단일 출처로 삼았다. deploy job 들에 없던 install 을 추가.
- 신규: pnpm typecheck, libs/ui-components/src/css-modules.d.ts
- 레포 이름 bbl-nx -> bbl 에 맞춰 배지/URL 교체. STORYBOOK_PREFIX_PATH 가 /bbl-nx 라
gh-pages 자산이 404 였다.
검증: install / eslint / typecheck / test(54 passed) / build / build-storybook 전부 통과,
양쪽 storybook 의 iframe.html 과 Tailwind 유틸리티 번들 포함 확인.
Assisted-by: Claude Code (Opus 5)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
하네스
AGENTS.mdCLAUDE.md@AGENTS.md+ 스킬 라우팅. 주제가 아니라 바뀌는 파일 종류로 키를 잡았다.claude/skills/{blog-post,ui-component,career-record}/SKILL.md.claude/skills/smart-shopping/SKILL.md사실은
AGENTS.md만, 순서·게이트는SKILL.md만 소유하고 스킬은→ §N으로 참조한다.정리
베이스라인에서
pnpm test,pnpm eslint,pnpm build-storybook,pnpm post:new,pnpm components:new, CI test job이 전부 실패 또는 no-op이었다. 스킬이 시키는 명령이 실제로 돌지 않으면 하네스가 거짓말을 하므로 같이 고쳤다.pnpm 7.29.1->7.33.7— 7.29.1은 Node 20+ 에서ERR_INVALID_THIS로 install 자체가 불가능하다..nvmrc가 22.12.0을 못 박고 있어 선언된 조합으로는 설치가 안 되는 상태였다. 락파일 형식(v5.4)은 유지.testEnvironment: jsdom누락으로 렌더 스펙 전부가 실행조차 안 되고 있었다.@bbl-nx/*별칭 맵과 함께jest.preset.js로 통합하고jest.config.base.ts제거.@nx/react/plugins/storybook이 하던 tsconfig path 해석을tsconfig-paths-webpack-plugin으로 대체..babelrc8개와babel.config.json제거 후preset-typescript만 추가(preset-react를 같이 넣으면 Duplicate preset 에러가 삼켜져 exit 0 + iframe.html 없음이 된다). tailwindpurge->content,webpackFinal의rule.test가드. CI에iframe.html검증 스텝 추가.@babel/core7.21.0 핀 ->^7.22.0—next/babel이 요구. 앱에test스크립트가 없어 가려져 있던 충돌.posts/에 쓰고 있었고, ui-components는 features 배럴 경로가 틀려 마지막 액션에서 throw했다.toKebabCase/toPascalCase도 PascalCase 입력을 못 다뤘다.libs/apis,tools/workspace-plugin, Tistory 잔재,BlogItem.isExternal/url,post.ts의 존재하지 않는/api/posts분기,apps/bbl-nextjsStorybook 설정, 죽은 의존성 13개.setup-node cache: pnpm으로 교체하고 버전은.nvmrc/packageManager를 단일 출처로. deploy job 3개에 없던 install 추가.pnpm typecheck,libs/ui-components/src/css-modules.d.ts.bbl-nx->bbl배지/URL 교체.STORYBOOK_PREFIX_PATH가/bbl-nx라 gh-pages 자산이 404였다.검증
plop은 4가지 조합(features/organisms, features/templates, ui-components/helpers, ui-components/atoms)에서 산출 경로와 배럴이 모두 실존함을 확인했고,
toKebabCase는 기존 생성 이름 전부와 바이트 동일 + 멱등을 확인했다.남긴 것
AGENTS.md§10에 기록했다.storybook-addon-tailwindcss-dark-mode(SB6 시대지만 동작, 대체품 없음),@xstate/cli미설치로 typegen 재생성 불가, Firebase 설정 하드코딩, commitlint/husky 미설정,@bbl-nx/*스코프와 Vercel 도메인은bbl-nx유지.Assisted-by: Claude Code (Opus 5)