테스트 사이트 - 개발 중인 베타 버전입니다

rule에 이것만 넣고 작업했습니다. <라라벨>

· 3개월 전 · 377 · 1

[code]

1. 논리적 검증 우선 원칙 (Verification-First Approach)
1.1 가정 금지 (Zero Assumption Policy)
모든 작업 전 필수 검증:
├── 파일 존재 여부 실제 확인
├── 패키지 설치 상태 composer.json 직접 확인  
├── 데이터베이스 테이블 구조 직접 Schema::hasTable() 확인
├── 마이그레이션 실행 상태 migrate:status 확인
└── 환경 설정 .env 파일 직접 읽기

절대 가정하지 않는 사항:
❌ "아마도 설치되어 있을 것이다"
❌ "보통 이렇게 설정되어 있다" 
❌ "기본적으로 이 경로에 있다"
✅ 모든 것을 실제 확인 후 진행
1.2 동적 상태 확인 (Dynamic State Verification)
php// 모든 작업 전 상태 확인 명령어 실행
php artisan config:cache  // 설정 상태 확인
php artisan route:list     // 라우트 상태 확인  
composer show              // 패키지 상태 확인
php artisan migrate:status // DB 상태 확인

// 파일 존재 여부 동적 확인
if (file_exists('app/Models/User.php')) {
    // 실제 내용 분석 후 작업
} else {
    // 파일 생성부터 시작
}
2. 엄격한 의존성 순서 준수 (Strict Dependency Order)
2.1 MVC 의존성 매트릭스
Level 0: Database Schema
├── Migration files 생성/실행
├── 테이블 간 FK 관계 검증
└── 제약조건 정상 동작 확인

Level 1: Model Layer  
├── Eloquent 모델 생성
├── 관계 메서드 정의
├── 실제 쿼리 테스트로 검증
└── 다음 레벨 진행 전 완전 검증

Level 2: Controller Layer
├── 비즈니스 로직 구현
├── Model 의존성 주입
├── 실제 데이터 CRUD 테스트
└── Route 연결 전 로직 검증

Level 3: View Layer (Filament)
├── Resource 클래스 생성
├── Form/Table 스키마 정의
├── 권한 제어 구현
└── 실제 브라우저 테스트
2.2 의존성 체인 검증 방식
각 단계마다 Break Point 설정:
1. Migration → php artisan tinker로 테이블 구조 확인
2. Model → 관계 메서드 실제 호출해서 결과 확인
3. Controller → Route 코드플로우에 따라 논리적 회로 테스트로 실제 동작 예측
4. View → 코드플로우에 따라 논리적 회로 테스트로 실제 동작 예측

실패 시 즉시 중단하고 문제 해결 후 재진행
3. 실제 확인 기반 수정 방법론 (Evidence-Based Correction)
3.1 오류 발생 시 논리적 추적
오류 발생 → 근본 원인 분석 → 의존성 체크 → 수정 → 재검증

예시: "Class not found" 오류
1. composer.json 확인 → autoload 설정 체크
2. namespace 확인 → PSR-4 규칙 준수 여부
3. composer dump-autoload 실행
4. 실제 클래스 파일 경로 확인
5. 재테스트로 해결 확인
3.2 논리적 디버깅 접근법
php// 단순 추측 대신 논리적 확인
// ❌ 잘못된 접근
// "아마 권한 문제일 것이다" → 권한 변경

// ✅ 올바른 접근  
dd(auth()->user());           // 현재 사용자 확인
dd(auth()->user()->roles);    // 실제 역할 확인
dd(Gate::allows('action'));   // 권한 체크 결과 확인
// 확인된 사실을 바탕으로 수정
4. 코드 작성 시 논리적 사고 패턴
4.1 Before-After 검증 패턴
php// 모든 중요한 작업에 Before-After 확인

// BEFORE: 현재 상태 확인
$beforeCount = User::count();
$beforeRoles = Role::all()->pluck('name');

// WORK: 실제 작업 수행
User::factory()->create();
Role::create(['name' => 'new_role']);

// AFTER: 결과 검증
$afterCount = User::count();
$afterRoles = Role::all()->pluck('name');

// VERIFY: 논리적 검증
assert($afterCount === $beforeCount + 1);
assert($afterRoles->contains('new_role'));
4.2 점진적 복잡성 증가 (Incremental Complexity)
단순함에서 복잡함으로 단계적 진행:

1단계: 기본 CRUD만 구현 → 동작 확인
2단계: 단순 관계 추가 → 관계 쿼리 테스트  
3단계: 권한 제어 추가 → 권한별 접근 테스트
4단계: 고급 기능 추가 → 통합 테스트

각 단계마다 완전한 동작 확인 후 다음 단계 진행
5. Filament 특화 작업 접근법
5.1 Resource 생성 시 논리적 순서
1. Model 관계 완전 정의 후 Resource 생성
2. 기본 CRUD 동작 확인
3. 권한 제어 단계적 추가
4. 커스텀 필드/액션 순차 추가
5. 각 단계마다 브라우저 실제 테스트

// ❌ 한번에 모든 기능 구현
// ✅ 단계별 검증하며 기능 추가
5.2 Form/Table 스키마 논리적 구성
php// 논리적 필드 그룹핑
return $form->schema([
    // 1그룹: 필수 식별 정보
    Forms\Components\TextInput::make('username')->required(),
    Forms\Components\TextInput::make('email')->required(),
    
    // 2그룹: 비즈니스 정보  
    Forms\Components\Select::make('role')->options(...),
    Forms\Components\Toggle::make('is_active'),
    
    // 3그룹: 관계 정보
    Forms\Components\Select::make('department_id')
        ->relationship('department', 'name'),
]);

// 각 그룹의 동작을 개별 테스트 후 통합
6. 오류 예방 및 품질 보장
6.1 사전 검증 체크리스트
새로운 기능 구현 전 필수 확인사항:

□ 관련 Model 존재 및 관계 정의 완료
□ 필요한 Migration 실행 완료
□ 권한/Policy 정의 완료  
□ 의존성 패키지 설치 확인
□ Route 정의 및 테스트 완료
□ 기존 기능에 영향 없음 확인
6.2 코드 품질 논리적 검증
php// 모든 메서드에 논리적 검증 추가
public function store(Request $request)
{
    // INPUT 검증
    $validated = $request->validate([...]);
    
    // BUSINESS LOGIC 검증  
    if (!auth()->user()->can('create', Model::class)) {
        abort(403);
    }
    
    // DATABASE 검증
    DB::beginTransaction();
    try {
        $model = Model::create($validated);
        // 생성 결과 검증
        assert($model->exists);
        DB::commit();
    } catch (Exception $e) {
        DB::rollback();
        throw $e;
    }
    
    // OUTPUT 검증
    return response()->json($model, 201);
}
7. 팀 협업 시 논리적 소통 방식
7.1 이슈 리포팅 표준화
문제 발생 시 보고 형식:

[CONTEXT] 현재 상황 객관적 서술
[EXPECTED] 기대했던 동작
[ACTUAL] 실제 발생한 동작  
[EVIDENCE] 오류 로그, 스크린샷 등 객관적 증거
[ANALYSIS] 논리적 원인 분석
[SOLUTION] 제안하는 해결책과 근거
7.2 코드 리뷰 논리적 기준
리뷰 시 확인사항:

□ 의존성 순서 정확성
□ 예외 처리 완전성
□ 테스트 케이스 논리적 커버리지
□ 성능 영향 분석
□ 보안 취약점 논리적 검토

□ 비즈니스 규칙 정확한 구현

[/code]

 

진행순서 -> 제미니 5why방법론에 따른 초기 스키마 생성 -> 클로드데탑으로 간단하게 검증하면서 라라벨 표준 마이그레이션 문법 적용문서 제작 -> 직접확인 및 수정 -> 위 룰을 커서에 적용 별다른 MCP서버 설정이없고 저 룰 하나만 적용하고 채팅시  문서에 따라 어디부분을 어디까지 진행하면서 가정하지 않고, 임의판단하지않고,관념적용금지하고,웹검색을이용해최신문법을 이해하고 해야하며 작성한코드는 1번 이상검증검토 논리적비교를해야한다 는 식으로 입력했습니다. 

 

처음 테이블 마이그레이션 부분만 좀 꼼꼼하게 수동으로 보았고 나머진 자동으로 작업했네요.

 

테이블 구조에 따라 관리패널(필라멘트) 를 빠르게 만들고 위젯생성 생략 하고 -> vite로 타일윈드 빌드 후 프론트앤드 뷰들 제작 기초 뼈대만 중요 로직부분들은 주석처리로 생성하고, 페이지들 언급하면서 테이블구조 -> 관리패널 연동강조 -> 뷰 상태확인 -> 컨트롤러 ,라우트 검증  다시 연동확인 

 

식으로 프롬프트주면서 2차 작업 식으로했습니당

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

3개월 전

프롬프트 작성하기도 엄청 시간 오래걸렸겠네요

게시글 목록

번호 제목
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495
1717479
1717473
1717470
1717463
1717452