41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
# 프로젝트: {프로젝트명}
|
|
|
|
## 기술 스택
|
|
|
|
- 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`과 프로젝트 문서를
|
|
우선한다.
|