# 프로젝트: {프로젝트명} ## 기술 스택 - MSVC toolset: {예: v143} - C++ 표준: {예: C++20} - 빌드 시스템: {CMake 또는 Visual Studio solution} - 테스트 프레임워크: {예: GoogleTest, Catch2, Microsoft C++ Unit Test} ## 아키텍처 규칙 - CRITICAL: {절대 지켜야 할 모듈 또는 계층 경계} - CRITICAL: public header와 implementation 의존성 방향을 역전하지 말 것 - 제품 코드는 `src/`, public header는 `include/`, 테스트는 `tests/`에 둔다. ## 개발 프로세스 - CRITICAL: 새 기능과 버그 수정은 실패하는 테스트를 먼저 작성한 뒤 구현할 것. - CRITICAL: 빌드 경고를 새로 추가하지 말 것. - 커밋 메시지는 conventional commits 형식을 따른다. ## 명령어 ### CMake/CTest 프로젝트 ```powershell cmake -S . -B .harness/build -A x64 cmake --build .harness/build --config Debug ctest --test-dir .harness/build -C Debug --output-on-failure ``` ### Visual Studio solution 프로젝트 ```powershell MSBuild.exe MyProject.sln /m /p:Configuration=Debug /p:Platform=x64 .\build\tests\Debug\MyProjectTests.exe ``` 실제 solution, preset, 테스트 명령은 `.harness/config.json`과 프로젝트 문서를 우선한다.