Skip to content

v0.6.0: lg init --kind proposal, --import

Choose a tag to compare

@qazcdesnu qazcdesnu released this 04 Oct 05:45
· 9 commits to main since this release
8d10e94

요약

연구가 아닌 지식 작업, 첫 대상으로 사업 제안서에도 labgate를 쓸 수 있게 lg init에 프로젝트 종류를 더했다. 이미 가진 자료를 들여오는 방법도 정리했다. 계기는 제조기업 AI 에이전트 구축 제안서 작업에서 나온 요구와, 자료가 있는 폴더에 init할 때 생긴 문제다.

주요 내용

lg init --kind research|proposal

  • 설정 파일 project.kind, 명령 --kind, 대화형이면 첫 질문(연구 / 제안서). 기본은 연구다.
  • 제안서에서 다른 것:
    • 연구 질문 → 제안 핵심 질문
    • 가설 → 제안 전략과 가정
    • 공통 실험 원칙 → 공통 작업 원칙
    • 문헌 → 자료
    • 마일스톤 판정의 뜻: go = 다음 단계로, 마지막이면 제출 / conditional = 보완 조건부 / nogo = 중단
    • paper/ 대신 deliverables/
  • 같은 것: 규칙, 절차, 사양, 커밋 규약, hook, 모든 lg 명령.
  • lg upgrade 해시표의 변형에 종류가 들어간다. 연구는 예전 변형 이름 그대로라 릴리즈된 해시표와 맞는다.

lg init --import DIR

  • 이미 가진 자료 폴더의 내용을 notes/로 복사하고 stage만 한다. 첫 task 승인 커밋에 함께 들어간다.
  • 프로젝트 폴더 안의 폴더, 빈 폴더, 없는 폴더는 거부한다.

init 커밋은 생성한 파일만

  • 지금까지는 git add -A라서, --force로 자료가 있는 폴더에 만들면 자료가 init 커밋에 들어갔다. 큰 파일이나 기밀 자료가 이력에 남을 수 있었다.
  • 이제 생성한 파일만 커밋한다. 원래 있던 파일은 그대로 남기고 목록으로 알린다.

템플릿

  • 줄 끝 {% endif %}가 줄바꿈을 먹어 제목과 본문이 붙던 문제를 고쳤다. 제목 뒤 빈 줄을 확인하는 contract 테스트를 더했다.
  • 연구 프로젝트의 생성 결과는 v0.5.0과 비교해 의도한 줄만 다르다: project.kind, deliverables/ 안내 두 줄, spec_version.

호환성

  • spec_version 6. lg 명령은 2–6을 지원한다. 2–5 프로젝트는 lg upgrade로 6까지 올린다(모두 연구 종류).
  • 설정 파일 형식(schema_version: 1)은 그대로다. kind는 선택 필드다.

확인

  • 테스트 498개(v0.6.0 tag가 필요한 2개는 tag 뒤에 돈다). Python 3.10–3.14 × 최신·최소 의존성, Linux·macOS, 생성 도구 Python 3.9.
  • 임시 폴더에서 --kind proposal --import로 실제 생성: README·로드맵·마일스톤 문구, 가져온 자료 stage, lg status 확인.

설치·업데이트

pipx install --force git+https://github.com/qazcdesnu/labgate.git@v0.6.0
lg --version

제안서 프로젝트: lg init <폴더> --kind proposal [--config 설정.yaml] [--import <자료 폴더>]. 이미 만든 프로젝트 올리기(spec_version 2–5 → 6): 에이전트 세션을 닫고 lg upgrade --dry-run → lg upgrade → git add -A && lg commit(타입 spec). 자세한 내용은 docs/guide/upgrade.md.

변경 PR: #7 · 이전 릴리즈: v0.5.0