modify harness framework
This commit is contained in:
@@ -1,40 +1,43 @@
|
||||
# 프로젝트: {프로젝트명}
|
||||
# C++ 제품 개발 프로젝트
|
||||
|
||||
## 기술 스택
|
||||
이 저장소의 제품은 **MSVC 기반 C++ 제품**이다. Harness와 `scripts/`의 Python 코드는
|
||||
제품 개발을 지원하는 도구이며 제품의 목표나 기능이 아니다.
|
||||
|
||||
- MSVC toolset: {예: v143}
|
||||
- C++ 표준: {예: C++20}
|
||||
- 빌드 시스템: {CMake 또는 Visual Studio solution}
|
||||
- 테스트 프레임워크: {예: GoogleTest, Catch2, Microsoft C++ Unit Test}
|
||||
## 현재 확정 상태
|
||||
|
||||
## 아키텍처 규칙
|
||||
- 제품명·사용자·업무 기능: 미정
|
||||
- MSVC toolset·C++ 표준·테스트 프레임워크: 미정
|
||||
- 빌드 형식: CMake 또는 Visual Studio solution/project 중 실제 metadata와
|
||||
`.harness/config.json`으로 확인
|
||||
- 배치: 제품 구현은 `src/`, public header는 `include/`, 테스트는 `tests/`
|
||||
|
||||
- CRITICAL: {절대 지켜야 할 모듈 또는 계층 경계}
|
||||
- CRITICAL: public header와 implementation 의존성 방향을 역전하지 말 것
|
||||
- 제품 코드는 `src/`, public header는 `include/`, 테스트는 `tests/`에 둔다.
|
||||
미정 값을 예시로 채우거나 검증된 사실처럼 표현하지 않는다.
|
||||
|
||||
## 개발 프로세스
|
||||
## 필수 규칙
|
||||
|
||||
- CRITICAL: 새 기능과 버그 수정은 실패하는 테스트를 먼저 작성한 뒤 구현할 것.
|
||||
- CRITICAL: 빌드 경고를 새로 추가하지 말 것.
|
||||
- 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 형식을 따른다.
|
||||
|
||||
## 명령어
|
||||
## 검증
|
||||
|
||||
### CMake/CTest 프로젝트
|
||||
실제 명령은 `.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 <solution.sln> /m /p:Configuration=Debug /p:Platform=x64
|
||||
<test-command>
|
||||
```
|
||||
|
||||
### 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`과 프로젝트 문서를
|
||||
우선한다.
|
||||
|
||||
Reference in New Issue
Block a user