for humanity

Maintenance

코드 변경, 컨벤션, 검증, 패키지 배포 기준. 엔진은 Architecture, 표현 기준은 Design, 다음 작업은 Roadmap.

Overview

pnpm test
pnpm check
pnpm build
git diff --check
CommandScope
pnpm test문서 경로·묶음·순서 · 글꼴 정책
pnpm lintBiome · Stylelint
pnpm typecheckTypeScript
pnpm build:kit서버·브라우저 번들
pnpm build패키지 번들 · 프로젝트 문서 사이트
pnpm build:pages문서 사이트 · Cloudflare 배포 파일
pnpm lint:fix자동 린트·포맷 수정
Code

Conventions

Lint coverage

Biome: 포맷, import, 타입·이름·레이어 규칙. Stylelint: CSS 클래스, 선택자, 중첩, 토큰 규칙. no-literal-fallback.grit: ??, || 오른쪽의 리터럴 검사. Biome와 Grit의 커스텀 진단 메시지는 영어.

의미·소유권·주석·접근성은 수동 리뷰 대상. 린트만으로 컨벤션 충족 판정 불가.

Grid renderer

src/util/mermaid/render-flow.js: blueprint 계열과 공유한 JS 구현. Biome 제외 이유: 기존 렌더링 알고리즘과 diff 대조. 주석은 프로젝트 문체 사용 · 실행 로직 변경 시 별도 확인.

Verification

Browser checks

Packaging and release

pnpm pack

패키지 설치 후 별도 폴더에서 dev, build, preview 확인. 정적 사이트는 문서 폴더의 dist 전체 배포. 사이트 루트 경로 기준 · Deployment. 첫 공개 버전 0.1.0의 지원 범위는 dev, build, preview. init은 별도 예정 작업.

공개 전 위 검증 명령을 모두 통과하고, 패키지에 CLI·CSS·클라이언트 스크립트·폰트·favicon·라이선스가 포함되는지 확인.

Automatic publishing

EventResult
PR · main pushCI: 테스트 · 린트 · 타입 검사 · Pages 빌드 · 패키지 설치 후 빌드
main pushCloudflare Git 연동으로 문서 사이트 배포
vX.Y.Z 태그 pushRelease: 검증 · npm 배포 · 같은 .tgz를 첨부한 GitHub Release 생성

워크플로는 .github/workflows/ci.yml, .github/workflows/release.yml. Release는 main에 포함된 커밋, 태그와 일치하는 package.json 버전, 해당 버전의 CHANGELOG.md 항목과 README 설치 명령 확인. vX.Y.Z 정식 버전만 지원. prerelease는 별도 정책을 추가한 뒤 사용. 설치 검증은 저장소 밖의 새 프로젝트에서 실행. CLI·CSS·클라이언트·글꼴·favicon·라이선스와 README 포함 여부 확인.

Trusted Publisher setup

npm 패키지 설정의 Trusted Publisher에 한 번 등록.

FieldValue
PublisherGitHub Actions
LabelGitHub release · 선택
Organization or userminu-ha
Repositoryfor-humanity
Workflow filenamerelease.yml · 파일명만 입력
Environment name비워둠
Allow npm publish체크
Allow npm dist-tag체크하지 않음

GitHub가 발급하는 OIDC 자격 증명 사용. 별도 NPM_TOKEN이나 매번의 로그인·2FA 입력 불필요. GitHub-hosted runner, Node.js 24와 npm 12.2.0으로 배포. 패키지 사용자의 Node.js 최소 버전은 22 유지. 설정 기준은 npm Trusted Publishing.

Release steps

  1. package.json 버전을 올리고 CHANGELOG.md에 변경 사항 기록.
  2. 최상위 README.md와 language/README.ko.md의 설치 버전·지원 버전 갱신.
  3. 검증 명령 실행. pnpm build가 templates/document/README.md도 동기화.
  4. 변경 파일만 커밋하고 main에 push. CI와 Pages 결과 확인.
  5. 해당 커밋에 같은 버전의 태그를 만들고 push.

다음 공개 버전이 0.1.2인 경우:

git tag -a v0.1.2 -m "Release v0.1.2"
git push origin v0.1.2

태그 push 후 Release Actions 실행 결과 확인. npm 배포가 성공한 뒤 GitHub Release 생성. 이미 npm에 같은 버전이 있다면 패키지의 integrity가 일치할 때만 재배포를 건너뛰고 GitHub Release 작업을 이어감. 내용이 다르면 실패. 게시한 버전은 수정하거나 덮어쓰지 않고 다음 버전으로 공개.

main의 README 변경은 GitHub와 문서 사이트에 먼저 반영. npm README와 홈페이지 주소는 새 패키지 버전을 배포할 때 반영. 공개 후 npm에서 패키지를 새 프로젝트에 설치해 같은 명령 확인. 다른 프로젝트의 고정된 의존성 버전은 별도 갱신.

Next

Roadmap

진행 순서, 단계별 산출물과 완료 기준은 Roadmap. 다음 작업은 Blueprint 샘플을 기준으로 blueprint의 전용 정보 구조와 표현 정의.

Navigation