← 모듈 센터

모듈 플랫폼 문서 묶음

작성 2026-10-04 · 표준 버전 1 한 번 만든 기능(라이센스 보호·설치기·업데이트 도우미·메신저·SaaS/단독 뼈대 …)을 여러 프로그램이 가져다 쓰고, 어느 프로그램에서든 고친 것을 다시 올려 모두 함께 좋아지게 하려는 문서입니다.

이 폴더의 문서

문서누가 읽나내용
01_모듈_표준.md모두 (모듈 사이트와 모든 프로그램이 함께 지키는 약속)모듈의 3종류, 이름표(module.json), 폴더 모양, 연결부, 버전 규칙, 보안·검사 규칙, 서명
02_모듈사이트_구축.md모듈 사이트를 만드는 사람 (lic.isolo.co.kr 저장소 작업)화면·DB 표·API·발행 흐름·서명·묶음·모듈 도구(modctl)·검사 항목
03_프로그램_모듈화.md각 프로그램을 작업하는 사람기능 빼내기 · 새 기능을 모듈로 만들기 · 가져오기 · 고친 것 올리기 · 새 버전 받기
04_모듈_화면_표준.md모듈 화면을 만들거나 붙이는 사람모듈 기본 화면(UI) — 붙이는 법 · 놓는 곳 · 색·크기
05_패키지_목록_확인_붙이기.md패키지 목록을 받는 프로그램(나혼자워크 등)서명·라이센스 짝·기한 확인 — 나혼자워크 고칠 곳(파일:줄)과 코드, Node·Python 예
design/모듈센터_시안.html · design/screens/모듈 사이트 화면을 만드는 사람매뉴얼 센터·버그개선 사이트와 같은 디자인의 「모듈 센터」 시안(예시 데이터) + 화면 캡처 10장

다른 프로그램에서 쓸 때는 이 폴더(docs/module-platform/)를 그 저장소에 통째로 복사한 뒤, 03 문서 끝의 「Claude 요청문」을 붙여 넣으면 됩니다.

한 장 요약

                      모듈 사이트 (lic.isolo.co.kr 「모듈」 메뉴)
           이름표·버전·사용처·검사 결과·서명을 관리 — 소스는 보관하지 않음
                 ▲ 등록(CI)          │ 발행 알림          ▲ 사용 보고
                 │                   ▼                    │
   원본 저장소 hnbbos/isolo_modules ──► 부품: npm(GitHub Packages)·pip(git 태그)
   (모듈 소스는 여기 한 곳)            서비스: ghcr.io 이미지 + 화면 끼워 넣기
                                       시작 틀: 새 프로그램 만들 때 복사
                 │ 가져오기 / 새 버전 받기 (modctl add · update)
                 ▼
   나혼자워크 · 제로라벨 · 바코드 WMS · PadCAD · 라이센스 서버 …
   (각자 modules.lock.json 에 「어떤 모듈 몇 번」을 적어 둔다)
                 │ 묶음(서명) → 업데이트 도우미
                 ▼
   고객 서버(단독 설치)

기본 모듈 — 모든 프로그램이 같은 것을 씀

라이센스 보호 장치(license-guard) · 설치기(installer) · 업데이트 도우미(update-agent) 는 모듈 사이트에 올라가는 기본 모듈입니다. 단독 설치로 파는 제품은 이 셋이 반드시 들어가야 하고, 빠지면 모듈 사이트가 고객용 묶음을 만들지 않습니다(01 §2.5, 02 §8).

모듈 사이트에 올라가지 않는 것은 두 가지입니다.

지켜야 할 규칙 3가지

  1. 원본은 한 곳. 프로그램 안의 사본은 고치지 않습니다. 고칠 일이 생기면 원본을 고치고 번호를 올립니다.
  2. 변경의 크기는 번호로 알립니다. 고침 1.4.1, 기능 추가 1.5.0, 크게 바뀜 2.0.0.
  3. 올리기 전에 그 모듈을 쓰는 모든 프로그램에서 검사합니다. 한 곳에서 좋아진 변경이 다른 곳을 망가뜨리면 안 됩니다.

왜 필요한가 — 지금 실제로 생긴 일 (2026-10-04 저장소 확인)

사실문제
라이센스 보호 장치가 두 벌: 제로라벨 lib/license-guard.js(268줄) / 라이센스 서버 lib/vendor/license-guard.js(181줄). 내장 공개키 구성, 키 추가 함수 이름(setTrustedKeys/addTrustedKey)이 이미 다름서명하는 쪽과 확인하는 쪽이 갈라지면 정품이 거절되거나 위조가 통과할 수 있음. 「공개키·강제 여부를 환경변수로 바꿀 수 있는」 구멍도 함께 복사됨
메신저가 두 벌: 나혼자워크 메신저(Node) / 바코드 WMS messenger_module/(Python)같은 기능을 두 번 만들고 두 번 고쳐야 함
바코드 메신저는 이식 묶음이 잘 정리돼 있음(연결부 3개 + 끼워 넣기 위젯 + 파일별 sha256 MANIFEST)다만 복사형 스냅샷이라, 가져간 곳에 이후 개선이 전해지지 않음
프로그램마다 만든 방식이 다름: Node+TS+Prisma+MariaDB / Node+EJS / Python+FastAPI+PostgreSQL / Node+SQLite소스를 그대로 붙이는 방식으로는 통일할 수 없음 → 모듈 종류를 나눠야 함

이미 있어서 그대로 쓰는 것

권하는 진행 순서

순서할 일문서
1GitHub에 원본 저장소 hnbbos/isolo_modules 만들기 (대표님)01 §3
2첫 모듈 = 라이센스 보호 장치(기본 모듈). 두 벌을 하나로 합치고 구멍을 막아 1.0.003 작업 A·B
3모듈 사이트 1단계: 등록·목록·사용처·발행(서명) + modctl 기본 명령02 §13
4나혼자워크·제로라벨이 1.0.0을 가져와 쓰고, 한쪽에서 고쳐 1.0.1을 만든 뒤 다른 쪽이 받기 — 한 바퀴 확인03 작업 C·D·E
5나머지 기본 모듈: 설치기(run.sh를 빼냄) · 업데이트 도우미(새로 만듦)03 §2.2
6표준 메신저 하나 정하기 → 서비스 모듈로03 §2
7시작 틀(SaaS/단독 뼈대): 나혼자워크 「설치 형태 전환」 작업이 끝난 뒤 그것을 원본으로01 §2.3