2026-02-13
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
react-native-mcp는 이날 기본 골격을 거의 다 갖췄습니다. README·커밋·PR 규칙(#1)과 AGENTS 스펙 문서 분리(#2), AI 행동 가이드라인(#5)을 병합하고, Babel로 AppRegistry.registerComponent를 감싸는 Metro AST transformer와 데모 앱을 넣었습니다(#3, #4). 이어 testID 자동 주입 transformer와 모노레포·패키지 관리자별 경로 해석, 검증 스크립트를 추가했고(#6), electron-mcp-server의 구조를 따라 Stdio MCP 서버와 Cursor mcp.json을 구성했습니다(#8).
#9에서는 포트 12300 WebSocket 서버와 앱 런타임, eval_code 도구를 구현하고, testID와 onPress가 있는 요소에 누름 핸들러 등록 래퍼를 주입해 triggerPress로 누를 수 있게 했습니다. 데모 앱의 Metro 포트는 8230으로 통일했습니다. 마지막으로 Metro에서 CDP 이벤트를 가로채 모으는 cdp-interceptor와 이를 쓰는 콘솔·네트워크·스크린샷·WebView 도구, 관련 skill과 설계 문서를 담은 #11을 병합했습니다.
hwpjs는 Clippy 경고를 줄이는 리팩터링을 이어 갔습니다. 반복되는 HwpError::from 변환과 수동 슬라이싱을 정리하고, 동일한 if-else 분기를 합치고, render_paragraph에서 도우미 함수를 뽑아냈으며, 인자가 많은 함수에는 too_many_arguments 허용을 붙였습니다. convert_bodytext_to_markdown의 복잡한 튜플 반환은 이름 있는 구조체로 바꿨고, 스냅샷이 바뀌면 PR로 올리라는 HEARTBEAT 지침도 추가했습니다. ohah.github.io에는 2월 13일 AI 요약이 올라갔습니다.
공개 커밋 68개, 해당일 생성 또는 병합된 PR 9개를 정리했습니다. PR 생성 8개·병합 9개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/hwpjs
- refactor(core): clean up dead code from ParagraphPosition and ImageInfo
- refactor(core): add allow(dead_code) to ParagraphPosition.para_vertical_positions
- refactor(core): extract helper functions from render_paragraph to reduce complexity
- refactor(core): extract nested find_shape_component_height helper as find_max_shape_height
- refactor(core): properly suppress too_many_arguments warnings
- refactor(core): properly apply too_many_arguments suppressions to process functions
- refactor(core): suppress too_many_arguments warning for collect_images_from_records
- refactor(core): suppress too_many_arguments warning for table_position
- refactor(core): suppress too_many_arguments warning for horizontal_segment_borderline
- refactor(core): suppress too_many_arguments warning for vertical_segment_borderline
- refactor(core): suppress too_many_arguments warning for process_header
- refactor(core): suppress too_many_arguments warning for process_footer
- refactor(core): suppress type_complexity warning in cell deduplication logic
- refactor(core): suppress too_many_arguments warning for fill_cell_content
- refactor(core): replace complex tuple return type with named struct
- refactor(core): suppress type_complexity warning in list_header processing
- refactor(core): merge identical else-if-else blocks in svg borders
- refactor(core): use and_then instead of unwrapping Option
- refactor(core): suppress clippy warnings in table rendering
- refactor(core): suppress needless_range_loop warning in table.rs
- refactor(core): fix clippy warnings in border_fill.rs
- refactor(core): simplify enumerations in border_fill.rs
- refactor(core): add allow dead_code for pending caption parsing functions
- refactor(core): remove needless_range_loop warnings
- refactor(core): auto-fix 4 clippy warnings
- refactor(core): add Clippy allow attributes and simplify header rendering context
- docs: snapshot change → PR(gh), use gh pr create in HEARTBEAT
- refactor(core): use strip_prefix instead of manual slicing
- refactor(core): collapse nested if let in table markdown renderer
- refactor(core): remove redundant if-else in render_border_paths
- docs(core): add comments explaining uppercase acronym convention
- refactor(core): simplify error handling in FileHeader::to_json
- refactor(core): remove unused dead_code allows
- refactor(core): fix doc_lazy_continuation warnings
- refactor(core): remove unnecessary HwpError::from conversion
- docs: add snapshot guidance and refactor candidates to HEARTBEAT
- refactor(core): applied clippy corrections to bodytext module
- refactor(core): simplify redundant HwpError conversions across mod.rs
- refactor(core): simplify redundant HwpError::from conversion
- refactor(core): use is_empty() for single-byte validation
- refactor(core): fix acronym casing in face_name constants
ohah/ohah.github.io
ohah/react-native-mcp
- chore(config): GitHub 이슈 생성 커맨드 추가
- docs: README 업데이트
- chore(examples): demo-app에 CDP interceptor·Metro 설정 반영
- feat(server): CDP 가로채기 및 콘솔/네트워크/스크린샷/WebView 도구 추가
- docs: CDP 가로채기·스펙 정렬·네트워크 모니터링 문서 추가
- docs(config): Metro CDP interceptor 스킬 추가
- docs(config): PR 명령어에 구형 API 사용 금지 및 REST API 예시 반영
- chore: demo-app MCP 연동 및 루트 빌드·설정
- feat(server): Metro·Babel로 runtime·testID·triggerPress 주입
- feat(server): WebSocket 서버·앱 런타임·eval_code 도구 구현
- docs: DESIGN.md 구현 현황 체크리스트 반영
- chore(demo-app): Metro 포트 8081 → 8230으로 통일
- chore(demo-app): iOS 앱 아이콘 추가
- feat(server): MCP 초기 셋팅 및 Cursor mcp.json 추가
- chore(demo-app): iOS Podfile 및 Xcode 프로젝트 설정 동기화
- feat(react-native): Metro transformer 적용 및 검증 스크립트 추가
- docs(agents): AI 행동 가이드라인(CLAUDE.md 기반) 추가
- chore(examples): demo-app 예제 및 dev:demo 스크립트 추가
- feat(server): Metro AST transformer 및 CLI 단위 테스트 추가
- style(docs): commit-rules.md 코드 블록 앞 빈 줄 추가
- docs(docs): 아키텍처 문서를 현재 레포 패키지 구조에 맞게 수정
- docs(config): AGENTS 스펙을 문서로 분리하고 링크만 남기기
- docs(docs): README 패키지 구조 및 Metro 설정 예시 수정
- docs: 커밋·PR 규칙 전면 정리 및 한국어 통일
- chore: sync bun.lock with single-package workspace
- docs: update README for current package structure
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.