web-frontend/src/main/v3/.claude/skills/create-page/SKILL.md
Pinpoint 프로젝트 패턴에 따라 새 페이지를 생성합니다. 애플리케이션에 새 라우트/페이지를 추가하거나, 새 화면을 만들거나, 기존 라우팅 구조에 페이지를 추가할 때 반드시 이 스킬을 사용하세요.
npx skillsauth add pinpoint-apm/pinpoint create-pageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
인자 형식: /create-page <PageName> [설명]
$0 — 생성할 페이지 이름 (PascalCase, 예: RealTimeDashboard)$ARGUMENTS — 페이지 목적 설명 (선택 사항, 예: 실시간 메트릭 대시보드)$ARGUMENTS 설명을 가진 $0 페이지를 생성합니다.
다음 단계를 엄격히 따르세요:
packages/ui/src/constants/path.ts를 읽어 APP_PATH 패턴 파악apps/web/src/routes/index.tsx를 읽어 라우팅 구조 확인packages/ui/src/pages/의 유사한 기존 페이지와 apps/web/src/pages/의 래퍼 읽기packages/ui/src/constants/path.ts의 APP_PATH에 새 경로 상수 추가.
packages/ui/src/pages/{PageName}.tsx 생성:
@pinpoint-fe/ui에서 훅과 컴포넌트 임포트configuration prop 받기 (페이지 래퍼의 configurationAtom에서 읽음)packages/ui/src/pages/index.ts에서 페이지 익스포트 (없으면 생성).
기존 로더의 패턴을 따라 packages/ui/src/loader/{pageName}.ts 생성:
periodMax 설정에 대해 날짜 범위 검증apps/web/src/pages/<PageName>.tsx 생성:
// <PageName>을 실제 페이지 이름으로 교체 (예: Inspector, ErrorAnalysis)
import { useAtomValue } from 'jotai';
import { <PageName>Page } from '@pinpoint-fe/ui';
import { configurationAtom } from '@pinpoint-fe/ui/src/atoms';
export default function <PageName>() {
const configuration = useAtomValue(configurationAtom);
return <<PageName>Page configuration={configuration} />;
}
apps/web/src/routes/index.tsx에 라우트 추가:
InitialFetchOutlet children에 라우트 항목 추가 (설정 페이지는 ConfigurationOutlet)사용자 노출 문자열을 packages/ui/src/constants/locales/의 en.json과 ko.json 모두에 추가.
testing
변경되었거나 테스트가 없는 Pinpoint 프론트엔드 코드에 대한 Jest 테스트를 작성합니다. 훅, 아톰, 유틸리티, 컴포넌트에 테스트가 필요하거나 커버리지를 높여야 할 때 반드시 이 스킬을 사용하세요.
development
Pinpoint 프로젝트 규약에 따라 코드 변경을 리뷰합니다. 커밋 전, PR 리뷰, 또는 코드 품질을 점검할 때 반드시 이 스킬을 사용하세요.
testing
Pinpoint 프론트엔드 PR 전 QA 게이트. 빌드/테스트를 실행하고 변경된 코드에 대한 동작 QA를 수행합니다. 커밋하거나 PR을 올리기 전에 반드시 이 스킬을 먼저 실행하세요.
development
web-frontend, web, web-starter Maven 모듈을 skipTests 옵션으로 순차 빌드합니다.