# C++ 제품 개발 프로젝트 이 저장소의 제품은 **MSVC 기반 C++ 제품**이다. Harness와 `scripts/`의 Python 코드는 제품 개발을 지원하는 도구이며 제품의 목표나 기능이 아니다. ## 현재 확정 상태 - 제품명·사용자·업무 기능: 미정 - MSVC toolset·C++ 표준·테스트 프레임워크: 미정 - 빌드 형식: CMake 또는 Visual Studio solution/project 중 실제 metadata와 `.harness/config.json`으로 확인 - 배치: 제품 구현은 `src/`, public header는 `include/`, 테스트는 `tests/` 미정 값을 예시로 채우거나 검증된 사실처럼 표현하지 않는다. ## 필수 규칙 - CRITICAL: public header가 implementation에 의존하도록 방향을 역전하지 않는다. - CRITICAL: 새 기능과 버그 수정은 실패하는 테스트를 먼저 확인한 뒤 구현한다. - CRITICAL: 새 빌드 경고를 추가하지 않는다. - 변경 범위와 관련된 문서·코드·테스트만 읽고 수정한다. step의 `context_files`가 있으면 그 목록을 우선한다. - 실행 상태는 `phases/{phase}/index.json`을 기준으로 판단한다. 인계 문서는 상태를 대신하지 않는다. - phase 작업 시 `docs/phase/{phase}/handoff.md`를 확인하고, 종료 전에 최신 인계와 해당 `stepN.md` 기록을 갱신한다. 상세 양식은 `docs/phase/README.md`를 따른다. - 커밋 메시지는 conventional commits 형식을 따른다. ## 검증 실제 명령은 `.harness/config.json`, CMake preset, solution 설정과 프로젝트 문서를 우선한다. 설정이 확인되지 않았을 때 아래 명령을 성공한 검증으로 주장하지 않는다. ```powershell # 일반 CMake 예시 cmake -S . -B .harness/build -A x64 cmake --build .harness/build --config Debug ctest --test-dir .harness/build -C Debug --output-on-failure # 직접 MSBuild 예시: 실제 solution과 test command로 교체 MSBuild.exe /m /p:Configuration=Debug /p:Platform=x64 ```