From ecc
오픈소스 파이프라인: 프라이빗 프로젝트를 안전한 공개 출시를 위해 포크(fork), 세척(sanitize) 및 패키징합니다. 3개 에이전트(포커, 세니타이저, 패키저)를 연결합니다. 트리거: '/opensource', 'open source this', 'make this public', 'prepare for open source'.
npx claudepluginhub sam42-lab/everything-claude-code-krThis skill uses the workspace's default tool permissions.
3단계 파이프라인을 통해 모든 프로젝트를 안전하게 오픈소스화합니다: **포크(Fork)** (비밀번호/키 제거) → **세척(Sanitize)** (클린 상태 검증) → **패키지(Package)** (CLAUDE.md + setup.sh + README 생성).
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
3단계 파이프라인을 통해 모든 프로젝트를 안전하게 오픈소스화합니다: 포크(Fork) (비밀번호/키 제거) → 세척(Sanitize) (클린 상태 검증) → 패키지(Package) (CLAUDE.md + setup.sh + README 생성).
/opensource fork, /opensource verify 또는 /opensource package를 호출할 때| 명령어 | 동작 |
|---|---|
/opensource fork PROJECT | 전체 파이프라인: 포크 + 세척 + 패키징 |
/opensource verify PROJECT | 기존 저장소에 세니타이저 실행 |
/opensource package PROJECT | CLAUDE.md + setup.sh + README 생성 |
/opensource list | 스테이징된 모든 프로젝트 표시 |
/opensource status PROJECT | 스테이징된 프로젝트의 보고서 표시 |
전체 파이프라인 — 메인 워크플로.
프로젝트 경로를 확인합니다. PROJECT에 /가 포함되어 있으면 절대 또는 상대 경로로 처리합니다. 그렇지 않으면 현재 작업 디렉토리, $HOME/PROJECT를 확인한 후 사용자에게 묻습니다.
SOURCE_PATH="<확인된 절대 경로>"
STAGING_PATH="$HOME/opensource-staging/${PROJECT_NAME}"
사용자에게 다음을 묻습니다:
gh api user -q .login으로 감지)mkdir -p $HOME/opensource-staging/
opensource-forker 에이전트를 생성합니다:
Agent(
description="오픈소스 출시를 위해 {PROJECT} 포크",
subagent_type="opensource-forker",
prompt="""
오픈소스 출시를 위해 프로젝트를 포크합니다.
소스: {SOURCE_PATH}
대상: {STAGING_PATH}
라이선스: {chosen_license}
전체 포킹 프로토콜을 따르십시오:
1. 파일 복사 (.git, node_modules, __pycache__, .venv 제외)
2. 모든 비밀번호, 키 및 자격 증명 제거
3. 내부 참조를 플레이스홀더로 교체
4. .env.example 생성
5. git 기록 정리
6. {STAGING_PATH}/FORK_REPORT.md에 FORK_REPORT.md 생성
"""
)
완료될 때까지 기다립니다. {STAGING_PATH}/FORK_REPORT.md를 읽습니다.
opensource-sanitizer 에이전트를 생성합니다:
Agent(
description="{PROJECT} 세척 검증",
subagent_type="opensource-sanitizer",
prompt="""
오픈소스 포크의 세척 상태를 검증합니다.
프로젝트: {STAGING_PATH}
소스 (참조용): {SOURCE_PATH}
모든 스캔 카테고리를 실행하십시오:
1. 비밀번호/키 스캔 (중요)
2. 개인정보(PII) 스캔 (중요)
3. 내부 참조 스캔 (중요)
4. 위험 파일 확인 (중요)
5. 설정 완료 여부 (경고)
6. git 기록 감사
PASS/FAIL 판정이 포함된 SANITIZATION_REPORT.md를 {STAGING_PATH}/ 안에 생성하십시오.
"""
)
완료될 때까지 기다립니다. {STAGING_PATH}/SANITIZATION_REPORT.md를 읽습니다.
FAIL인 경우: 발견된 사항을 사용자에게 보여줍니다. "이것들을 수정하고 다시 스캔할까요, 아니면 중단할까요?"라고 묻습니다.
PASS 또는 PASS WITH WARNINGS인 경우: 5단계로 진행합니다.
opensource-packager 에이전트를 생성합니다:
Agent(
description="오픈소스 출시를 위해 {PROJECT} 패키징",
subagent_type="opensource-packager",
prompt="""
프로젝트를 위한 오픈소스 패키징을 생성합니다.
프로젝트: {STAGING_PATH}
라이선스: {chosen_license}
프로젝트 이름: {PROJECT_NAME}
설명: {description}
GitHub 저장소: {github_repo}
다음을 생성하십시오:
1. CLAUDE.md (명령어, 아키텍처, 주요 파일)
2. setup.sh (한 번의 명령으로 부트스트랩, 실행 가능하게 설정)
3. README.md (또는 기존 문서 강화)
4. LICENSE
5. CONTRIBUTING.md
6. .github/ISSUE_TEMPLATE/ (bug_report.md, feature_request.md)
"""
)
사용자에게 제시합니다:
오픈소스 포크 준비 완료: {PROJECT_NAME}
위치: {STAGING_PATH}
라이선스: {license}
생성된 파일:
- CLAUDE.md
- setup.sh (실행 가능)
- README.md
- LICENSE
- CONTRIBUTING.md
- .env.example ({N}개 변수)
세척 판정: {sanitization_verdict}
다음 단계:
1. 검토: cd {STAGING_PATH}
2. 저장소 생성: gh repo create {github_org}/{github_repo} --public
3. 푸시: git remote add origin ... && git push -u origin main
GitHub에 게시를 진행할까요? (yes/no/먼저 검토)
cd "{STAGING_PATH}"
gh repo create "{github_org}/{github_repo}" --public --source=. --push --description "{description}"
세니타이저를 독립적으로 실행합니다. 경로 확인: PROJECT에 /가 포함되어 있으면 경로로 처리합니다. 그렇지 않으면 $HOME/opensource-staging/PROJECT, $HOME/PROJECT, 현재 디렉토리 순으로 확인합니다.
Agent(
subagent_type="opensource-sanitizer",
prompt="{resolved_path}의 세척 상태를 검증하십시오. 6개 스캔 카테고리를 모두 실행하고 SANITIZATION_REPORT.md를 생성하십시오."
)
패키저를 독립적으로 실행합니다. "라이선스?"와 "설명?"을 물은 후:
Agent(
subagent_type="opensource-packager",
prompt="{resolved_path} 패키징 ..."
)
ls -d $HOME/opensource-staging/*/
파이프라인 진행 상황(FORK_REPORT.md, SANITIZATION_REPORT.md, CLAUDE.md 존재 여부)과 함께 각 프로젝트를 표시합니다.
cat $HOME/opensource-staging/${PROJECT}/SANITIZATION_REPORT.md
cat $HOME/opensource-staging/${PROJECT}/FORK_REPORT.md
$HOME/opensource-staging/
my-project/
FORK_REPORT.md # 포커 에이전트 생성
SANITIZATION_REPORT.md # 세니타이저 에이전트 생성
CLAUDE.md # 패키저 에이전트 생성
setup.sh # 패키저 에이전트 생성
README.md # 패키저 에이전트 생성
.env.example # 포커 에이전트 생성
... # 세척된 프로젝트 파일들
.env, *.pem 또는 credentials.json을 남겨두지 마십시오.세니타이저에서 사용하는 비밀 정보 감지 패턴은 security-review를 참조하십시오.