Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

315 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

H-eries

H-eries = 홍도산 + (s)eries. 단일 작가(홍도산)가 운영하는 오리지널 웹 시리즈 컬렉션.

최소 의존 — 런타임은 React 19 + React Router 7 + Vite 7 + TypeScript strict. dev 도구 (Storybook 9, ESLint 9 flat config, babel-plugin-react-compiler, Tailwind v4 + @tailwindcss/vite) 는 devDependencies — dist 산출물에 0~수 KB 영향. 외부 UI/상태 라이브러리 미사용. 코드만 있으면 어디서든 실행 가능 한 이식성을 우선한다. GitHub Pages 로 발행 (BrowserRouter, .nojekyll).


저작권

본 저장소의 모든 소설 본문·등장인물·세계관·시각 자산은 작가*(홍도산)* 의 100% 오리지널 창작 이다.

© 2026 홍도산. All rights reserved.
  • 모든 저작권은 홍도산 에게 단독 귀속. 복제·배포·전송·번역·각색·기계학습 모델 학습 데이터 사용 모두 사전 서면 허가 필수.
  • 코드·구조도 동일하게 All Rights Reserved코드·구조 (TypeScript·CSS·AI 에이전트 정의·빌드 스크립트·운영 문서) 와 서사 콘텐츠 (content/) 모두 홍도산 단독 귀속. 오픈소스 라이선스 아님. 상세: LICENSE.
  • 라이선스·권리 문의: contact_hongdosan@naver.com 또는 GitHub Issue.
  • 자세한 정책: NOTICE.

모든 .md 산출물 첫 줄(또는 frontmatter 직후)에 다음 1줄 HTML 주석을 부착한다:

<!-- © 2026 홍도산. All rights reserved. Original creator work. -->

빠른 시작

# 작가 (서브모듈 권한 있음)
git clone --recursive https://github.com/hongdosan/heries.git
cd heries
./scripts/init-private.sh   # .claude/handoff·workflow/plan·prompt/custom 심링크 생성
npm install
npm run dev                 # 개발 서버 (http://localhost:8000)

# 외부 기여자 (서브모듈 권한 없음)
git clone https://github.com/hongdosan/heries.git
cd heries
./scripts/init-private.sh   # 안내만 출력, Mock 모드 진입
npm install
npm run dev                 # handoff·plan·prompt 미반영 상태로 빌드 가능

기타 명령:

npm run build            # 프로덕션 빌드 (dist/) — GitHub Pages 배포용
npm run typecheck        # 타입 체크
npm run storybook        # Storybook dev 서버 (port 6006)
npm run build-storybook  # Storybook 정적 빌드 (storybook-static/, 미배포)
npm run optimize:images  # 이미지 자동 압축 (500 KB 이하)

.env.local (gitignored) 또는 GitHub Secret 으로 VITE_AUTHOR_KEY=<임의문자열> 주입 시 /unlock 페이지에서 작가 모드 진입 가능.

브랜치 전략

3 branch + tag (SemVer):

  • develop = 활발 개발 (작가 직접 commit)
  • release = release candidate (검수)
  • main = 배포 대상 (release → main merge + vX.Y.Z tag → GitHub Pages auto-deploy)

자세한 운영 규약 = .claude/harness/git-strategy.md. 변경 누적 = CHANGELOG.md.

프라이빗 자료 (서브모듈)

작가 운영 내부 자료 (세션 핸드오프·작업 계획·커스텀 프롬프트) 는 별도 프라이빗 저장소 martial-arts-configheries/ 폴더에 분리 보관, 서브모듈로 연결한다. 본 repo 의 .claude/handoff/, .claude/workflow/plan/, .claude/workflow/prompt/custom/ 는 심링크 (gitignored). 자세한 절차 = .claude/harness/private-config.md.

배포

main 브랜치 push (또는 vX.Y.Z tag push) 시 .github/workflows/deploy.yml 가 자동으로 GitHub Pages 에 단일 빌드를 배포한다 ( https://hongdosan.github.io/heries/). 워크플로우는 GitHub Secret VITE_AUTHOR_KEY 를 빌드 env 로 주입한다.


스포일러 분리 (작가 모드 vs 독자 모드)

정책 #9 v2 (2026-05-14) — 단일 라이브 빌드. 작가 콘텐츠는 dist 산출물에 평문 포함되며, 기본 화면에서는 runtime 마스킹 ( shared/lib/spoiler.ts + useAuthorMode hook) 으로 가려진다. 작가 모드 진입은 /unlock 페이지에서 VITE_AUTHOR_KEY 검증 통과 시 sessionStorage heries:author=1 플래그 set. 탭을 닫으면 자동 잠금.

마스킹 대상 (비-작가 모드에서 가림):

  • _series.md## 시놉시스
  • 캐릭터 카드의 ## H-eries 분기 ~ 이하 모든 절
  • frontmatter heries_arc 필드
  • worldbuilding/, timeline/, glossary/ 디렉토리
  • 등장인물 상세 페이지 (주인공 제외) — 라우트 가드로 잠금 안내

보안 책임 분리 — 작가는 기본 마스킹과 환경변수 격리를 보장한다. reader 가 devtools / git clone 등으로 능동적으로 우회해 스포일러를 읽는 경우는 reader 오로지 독자 본인의 책임 (스포에 대한 책임지지 않음.). 단 개인정보·API 키·시크릿·작가 키는 절대 코드에 hardcode 금지 (CLAUDE.md #13). 빌드 시 scripts/check-secrets.mjs 가 dist 시크릿 패턴 누수를 검증.

정책 SSOT: .claude/CLAUDE.md §원칙 #9 / #13.


작품 목록

슬러그 상태
clash-of-multiverses 연재 중

신규 작품 추가 시 content/series/{slug}/ 트리 + content/series.json series[] + manifest.json 생성.


디렉토리 구조

heries/
├── README.md, LICENSE, NOTICE.md, .nojekyll
├── package.json, tsconfig.json, vite.config.ts, index.html
├── content/                         # 마크다운 SSOT
│   ├── _shared/                            # 공통 자산
│   │   └── images/                                # 이미지 (heries-mark / placeholder / mini-game sprite)
│   ├── series.json                         # 시리즈 인덱스
│   └── series/{slug}/
│       ├── manifest.json
│       ├── _series.md
│       ├── characters/{1-protagonist,2-major-supporting,3-antagonist,4-minor}/
│       ├── thumbnails/                     # 작품/챕터 이미지 + PROMPT.md
│       ├── worldbuilding/, timeline/, glossary/   # 작가 전용 (마스킹)
│       └── chapters/
├── scripts/                         # 빌드/운영 보조 (Node 표준, 의존성 0)
│   ├── check-images.mjs                    # 이미지 사이즈 게이트 (500 KB)
│   ├── check-secrets.mjs                   # 시크릿 패턴 누수 게이트 (CLAUDE.md #13)
│   ├── copy-content.mjs                    # content/ → dist/ 복사 (runtime 마스킹)
│   └── optimize-images.mjs                 # WebP 압축
├── src/                             # FSD 6 레이어 — React 19 + TypeScript
│   ├── README.md                           # FSD 가이드
│   ├── app/main.tsx                        # createRoot + BrowserRouter
│   ├── pages/, widgets/, features/, entities/, shared/
├── .storybook/                      # Storybook 9 설정
├── .github/workflows/deploy.yml     # main 트리거 GitHub Pages 자동 배포
└── .claude/                         # 하네스 운영 + 에이전트 정의

등장인물 카드 스키마

---
slug: character-id
name: 캐릭터 표시명
origin: original
role: protagonist | antagonist | supporting | cameo
first_appearance: tba
aliases: [별칭1, 별칭2]
heries_arc: tba   # 본 작품 소환 시점·상태 (reader 마스킹)
summary: 한 줄 요약
---

<!-- © 2026 홍도산. All rights reserved. Original creator work. -->

# (캐릭터명)

## 핵심 정체성

## 능력

## 외형

## 인간관계

## 출신 배경

## H-eries 분기 — (작품명) 변형 ← reader 빌드에서 마스킹
  • 모든 캐릭터는 origin: original.
  • 공개 절 (핵심 정체성/능력/외형/인간관계/출신 배경) = reader 노출.
  • 작가 분기 절 (## H-eries 분기 ~) = reader 마스킹.

프론트엔드 (FSD + React + Vite)

src/Feature-Sliced Design (FSD) 6 레이어. React 19 + React Router 7 (BrowserRouter) + Vite 6.

  • FSD 가이드: src/README.md
  • CSS 슬라이스 분산 — shared/styles (tokens/base/typography/layout/utilities/author-mode/responsive) + 각 위젯·페이지·feature 슬라이스 옆 {name}.css
  • 공통 UI 컴포넌트 (shared/ui/) 추가 시 {name}.stories.tsx 강제 (Storybook)

하네스 (AI 협업)

본 프로젝트는 revfactory/harness 위에서 문서 기반 프로세스 하네스 를 도입한다.

운영 문서 진입점: .claude/harness/harness.md

에이전트 역할
heries-lorekeeper 캐릭터 카드 SSOT 관리·검증
heries-worldsmith 세계관·연표·용어 SSOT
heries-author 챕터 집필
heries-continuity-reviewer 신규 챕터 정합성 감사
heries-frontend-engineer src/ + 빌드 설정
heries-publisher 발행·배포

라우터 = heries-orchestrator 스킬.


작가

홍도산 (단독 작가). 외부 협업·다인 작가 분기는 가정하지 않는다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages