Skip to content

refactor: migrate hook domain to features/hook and simplify list panels#34

Merged
ohing504 merged 7 commits intomainfrom
refactor/hooks-panel-and-entity-cleanup
Mar 18, 2026
Merged

refactor: migrate hook domain to features/hook and simplify list panels#34
ohing504 merged 7 commits intomainfrom
refactor/hooks-panel-and-entity-cleanup

Conversation

@ohing504
Copy link
Owner

Summary

  • Hook 도메인 파일을 flat 구조에서 src/features/hook/로 통합 이관 (types, constants, utils, service, server, queries, config, components)
  • 서버 Zod 스키마 중복 제거, Inspector에 EntityActionDropdown/InspectorSkeleton 적용
  • EntityListPanel에서 더보기 버튼/컨텍스트 메뉴 제거 — 모든 조작은 Inspector에서만 처리
  • EntityActionDropdown 버튼을 항상 표시되는 세로 ellipsis로 변경
  • Hook integration 테스트 추가 (10개)

Test plan

  • pnpm typecheck 통과
  • pnpm lint 통과
  • pnpm test 통과 (317 tests, 32 files)
  • pnpm build 통과
  • 대시보드에서 Hook 리스트 선택 → Inspector 표시 확인
  • Inspector에서 편집/삭제/에디터 열기 동작 확인
  • 다른 엔티티(Skill, Agent, MCP) Inspector 더보기 버튼 표시 확인

🤖 Generated with Claude Code

ohing504 and others added 7 commits March 18, 2026 23:54
- AgentsPanel, HooksPanel, McpDirectPanel 레거시 컴포넌트 삭제
- EntityConfig에서 icon 필드 제거, getEntityIcon() 헬퍼로 대체
- EntityListPanel: getItemIcon prop 추가, 그룹 헤더 엔티티 아이콘 적용
- EntityListPanel: emptyDescription 없으면 빈 상태 null 반환
- hookConfig: shortenCommand 로직 적용, per-hook 타입별 아이콘
- Hook Inspector: 커스텀 드롭다운 (Open in Editor, Edit, Delete)
- Hook Inspector: Edit → AddHookDialog 연결, Delete → AlertDialog 확인
- Hook Inspector: isHookFilePath/resolveHookFilePath 유틸 활용
- Hook Inspector: model 정보 Meta grid로 이동, 삭제 시 hooks 쿼리만 갱신
- BoardLayout: 삭제 후 Inspector 자동 닫기 (entity registry 기반)
- Inspector 타이틀 descender clipping 수정 (leading-none → leading-snug)
- ItemTitle: shadcn 원본 복원 (깨진 line-clamp-1 제거)
- ListItem/ListSubItem: truncate + max-w-full로 타이틀 말줄임 처리
- getSettingsPathFn 서버 함수 추가
- Vite watch에 .claude/** 제외 (dev HMR reload 방지)
- 샘플 훅 스크립트 추가 (.claude/hooks/lint-check.sh)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move all hook-related files (types, constants, utils, service, server,
queries, config, components) from flat structure to src/features/hook/.
Consolidate Zod schemas as single source of truth, move business logic
from server to service layer, apply EntityActionDropdown and
InspectorSkeleton patterns to hook inspector.

Remove EntityActionDropdown and EntityActionContextMenu from
EntityListPanel — all actions are now handled exclusively in Inspector.
Update EntityActionDropdown button to always-visible vertical ellipsis.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move all hook-related files (types, constants, utils, service, server,
queries, config, components) from flat structure to src/features/hook/.
Consolidate Zod schemas as single source of truth, move business logic
from server to service layer, apply EntityActionDropdown and
InspectorSkeleton patterns to hook inspector.

Remove EntityActionDropdown and EntityActionContextMenu from
EntityListPanel — all actions are now handled exclusively in Inspector.
Update EntityActionDropdown button to always-visible vertical ellipsis.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…anels

- Add dependency array to useEffect preventing per-render execution
- Fix hook loading condition from AND to OR for correct partial-load handling
- Lift usePluginsQuery to BoardLayout and add plugin to entityDataMap
- Apply getItemIcon to flat items in GroupedList for consistent icon rendering

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ohing504 ohing504 merged commit a362e13 into main Mar 18, 2026
1 check passed
@ohing504 ohing504 deleted the refactor/hooks-panel-and-entity-cleanup branch March 18, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant