{"_id":"@channel.io/create-repo-setting","_rev":"6-9eae27d664f7c641a54233a9a92f7c99","name":"@channel.io/create-repo-setting","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@channel.io/create-repo-setting","version":"0.1.0","keywords":["channel-io","repo-setup","cli"],"license":"UNLICENSED","_id":"@channel.io/create-repo-setting@0.1.0","maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"homepage":"https://github.com/channel-io/create-repo-setting#readme","bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"bin":{"create-repo-setting":"dist/index.js"},"dist":{"shasum":"551ca1719c90fca1aad9fdddf427777c682326ac","tarball":"https://registry.npmjs.org/@channel.io/create-repo-setting/-/create-repo-setting-0.1.0.tgz","fileCount":4,"integrity":"sha512-oCXeuR9RuDYeaNq2U+Ww77Kltx9YAhmZQg07XNYfJ0k42McsX8jE7blydCImZd8Fa3p3jbljni8URzoK4hfNfg==","signatures":[{"sig":"MEYCIQCSgmTWez+omGYPkyN4XRpJmV3WwYUI+NlT2CrF4EPmBQIhAMeNAz/Bjndaq/XvTqXSOSdX5OiSA9qnkGTm/KoF747p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34524},"type":"module","engines":{"node":">=20"},"gitHead":"96471b61254d8999c1816aff261808ed098235f9","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"repository":{"url":"git+https://github.com/channel-io/create-repo-setting.git","type":"git"},"_npmVersion":"11.11.1","description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","directories":{},"_nodeVersion":"25.8.2","dependencies":{"chalk":"^5.3.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/create-repo-setting_0.1.0_1777529333075_0.6666526497929293","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@channel.io/create-repo-setting","version":"0.2.0","keywords":["channel-io","repo-setup","cli"],"license":"UNLICENSED","_id":"@channel.io/create-repo-setting@0.2.0","maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"homepage":"https://github.com/channel-io/create-repo-setting#readme","bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"bin":{"create-repo-setting":"dist/index.js"},"dist":{"shasum":"f5c89cc8c2cfd2131bf2077f1ccf5a956476c8e6","tarball":"https://registry.npmjs.org/@channel.io/create-repo-setting/-/create-repo-setting-0.2.0.tgz","fileCount":4,"integrity":"sha512-eYiss2BAQ3qm+fC6xuYm+uYCF8tu131J8yJAeluqar+DTF82T5hzM900BMILTB9ACGyt+ghSS1+1yst5lqSiJg==","signatures":[{"sig":"MEYCIQDe3l7y8ETeqOzeTsm4pJt2qj5XwDYJJiDNKRFOFF2eBAIhAK8xtEX9GSa6cqv5Ev3Rgvq1ZWn8JR9MHnX8MQth+qXE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36978},"type":"module","engines":{"node":">=20"},"gitHead":"3c5ee8fc8a62244ed091e0941dfa4a48cc59b694","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"repository":{"url":"git+https://github.com/channel-io/create-repo-setting.git","type":"git"},"_npmVersion":"11.11.1","description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","directories":{},"_nodeVersion":"25.8.2","dependencies":{"chalk":"^5.3.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/create-repo-setting_0.2.0_1777530648273_0.5742884756689679","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@channel.io/create-repo-setting","version":"0.3.0","keywords":["channel-io","repo-setup","cli"],"license":"UNLICENSED","_id":"@channel.io/create-repo-setting@0.3.0","maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"homepage":"https://github.com/channel-io/create-repo-setting#readme","bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"bin":{"create-repo-setting":"dist/index.js"},"dist":{"shasum":"97a8ecd8f5986453f10c65affeef010f4f3bb97d","tarball":"https://registry.npmjs.org/@channel.io/create-repo-setting/-/create-repo-setting-0.3.0.tgz","fileCount":28,"integrity":"sha512-hmqiCUB/ETyNXq/puyAWHDN6XZalYR6WLU7Z0JjKez3dq0ToLEM1mF33bobtahRFmHELESCCG2Bj/wz1XnnJlw==","signatures":[{"sig":"MEUCIQCcA+0/8QoIeI2NU8waBCtO4cPadJrIR4t36jH9OT+urwIgO2sHOM+pfHqS6ZEof/7iFyz6287jqgQ+rPHOaoIGYxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39461},"type":"module","engines":{"node":">=20"},"gitHead":"6645957642c863eaa6dc85f7cab63e14e8a54408","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"repository":{"url":"git+https://github.com/channel-io/create-repo-setting.git","type":"git"},"_npmVersion":"11.11.1","description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","directories":{},"_nodeVersion":"25.8.2","dependencies":{"chalk":"^5.3.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/create-repo-setting_0.3.0_1777887667612_0.12384932988393649","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@channel.io/create-repo-setting","version":"0.4.0","keywords":["channel-io","repo-setup","cli"],"license":"UNLICENSED","_id":"@channel.io/create-repo-setting@0.4.0","maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"homepage":"https://github.com/channel-io/create-repo-setting#readme","bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"bin":{"create-repo-setting":"dist/index.js"},"dist":{"shasum":"a197ac44dba9243b92367097505f709ae84b76b8","tarball":"https://registry.npmjs.org/@channel.io/create-repo-setting/-/create-repo-setting-0.4.0.tgz","fileCount":28,"integrity":"sha512-zuNb4/RrBhIFUrG5XlABErm/rpX94poha2mNIKXqTfOGosH2L3L0tdDqGKURLaj1TmXZjNOIX9XaWdqop81c7Q==","signatures":[{"sig":"MEYCIQDKqq3ZnmDf/RwXvOAu2mNAevHkyQAX4AOUOctpfcTvogIhALQKVnGdmqD1eLySAMVUOfefm4CFrHDhcWMxkueuzaeH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40246},"type":"module","engines":{"node":">=20"},"gitHead":"3f4f1e77ea260444defd9028c81a9fba9ab53dcc","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"repository":{"url":"git+https://github.com/channel-io/create-repo-setting.git","type":"git"},"_npmVersion":"11.11.1","description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","directories":{},"_nodeVersion":"25.8.2","dependencies":{"chalk":"^5.3.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/create-repo-setting_0.4.0_1777891597861_0.8376217799784906","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@channel.io/create-repo-setting","version":"0.4.1","keywords":["channel-io","repo-setup","cli"],"license":"UNLICENSED","_id":"@channel.io/create-repo-setting@0.4.1","maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"homepage":"https://github.com/channel-io/create-repo-setting#readme","bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"bin":{"create-repo-setting":"dist/index.js"},"dist":{"shasum":"82c58485143eb173c8f10b4afcf3535092d8df6a","tarball":"https://registry.npmjs.org/@channel.io/create-repo-setting/-/create-repo-setting-0.4.1.tgz","fileCount":28,"integrity":"sha512-d20kh0z6sdSopl/u4rfEWEXARQwi+sQfaoVlC6KpRPKC+0jMwXWckVeMrOEzezSli89nxw812R5XebE91uXKcg==","signatures":[{"sig":"MEQCIEZWdV//3koAEWzYi3zkcQ98qFE53QlsTaHdtnnuIqKRAiBCF1pnt63QGFqwpJvOvDjKsK9Uzfpkqzw3O8xxCNg8xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41519},"type":"module","engines":{"node":">=20"},"gitHead":"453ffd46a06afa9214d31347308655419c7bac21","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"repository":{"url":"git+https://github.com/channel-io/create-repo-setting.git","type":"git"},"_npmVersion":"11.11.1","description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","directories":{},"_nodeVersion":"25.8.2","dependencies":{"chalk":"^5.3.0","@inquirer/prompts":"^7.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/create-repo-setting_0.4.1_1777892626990_0.27345103603641174","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@channel.io/create-repo-setting","version":"0.5.0","description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","type":"module","bin":{"create-repo-setting":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","prepublishOnly":"npm run build"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/channel-io/create-repo-setting.git"},"keywords":["channel-io","repo-setup","cli"],"license":"UNLICENSED","engines":{"node":">=20"},"dependencies":{"@inquirer/prompts":"^7.0.0","chalk":"^5.3.0"},"devDependencies":{"@types/node":"^22.0.0","tsx":"^4.21.0","typescript":"^5.7.0"},"gitHead":"6e222cd634cf2d2334132a8a7c514a946f89842f","_id":"@channel.io/create-repo-setting@0.5.0","bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"homepage":"https://github.com/channel-io/create-repo-setting#readme","_nodeVersion":"25.8.2","_npmVersion":"11.11.1","dist":{"integrity":"sha512-QPlYiX9Soj2syeuOFbGTvOHv4oqdqmIhTiqw4gsWWi7n6bRtJYIYjUgxTif3hVxFfCvWlRv0I/fhQbJ+2BFptQ==","shasum":"0a6d4b9cffafdc26d9a20d5ef6808e038659e575","tarball":"https://registry.npmjs.org/@channel.io/create-repo-setting/-/create-repo-setting-0.5.0.tgz","fileCount":28,"unpackedSize":42100,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKDcDrmBN7oveOqXD8zAyYHmeMcVFOnb9i2h8tgVsIKAIgePf02tCXmihbhS6HCHD6phcjyNiUcfwnQANfKYr6c2k="}]},"_npmUser":{"name":"zoyi","email":"eng@channel.io"},"directories":{},"maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-repo-setting_0.5.0_1777893636915_0.4450921759532389"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-30T06:08:52.968Z","modified":"2026-05-04T11:20:37.224Z","0.1.0":"2026-04-30T06:08:53.211Z","0.2.0":"2026-04-30T06:30:48.419Z","0.3.0":"2026-05-04T09:41:07.746Z","0.4.0":"2026-05-04T10:46:37.994Z","0.4.1":"2026-05-04T11:03:47.152Z","0.5.0":"2026-05-04T11:20:37.070Z"},"bugs":{"url":"https://github.com/channel-io/create-repo-setting/issues"},"license":"UNLICENSED","homepage":"https://github.com/channel-io/create-repo-setting#readme","keywords":["channel-io","repo-setup","cli"],"repository":{"type":"git","url":"git+https://github.com/channel-io/create-repo-setting.git"},"description":"원클릭 레포지토리 세팅 스크립트 — 브랜치, CI, AI review bot, 보일러플레이트","maintainers":[{"name":"polarshin","email":"polar@channel.io"},{"name":"zoyi","email":"eng@channel.io"},{"name":"quino0627","email":"dongwook627@gmail.com"},{"name":"sungik.dev","email":"sungik.dev@gmail.com"}],"readme":"# @channel-io/create-repo-setting\n\n원클릭 레포지토리 세팅 스크립트. channel-git-flow 브랜치 전략, CI 프리셋, AI review bot을 자동 구성합니다.\n\n## 사용법\n\n```bash\nnpx @channel-io/create-repo-setting\n```\n\ndry-run (실제 실행 없이 확인):\n```bash\nnpx @channel-io/create-repo-setting --dry-run\n```\n\n## 기능\n\n### 두 가지 모드\n- **새 레포 생성**: 템플릿 선택 → 브랜치 → Rulesets → CI → AI Review Bot\n- **기존 레포에 세팅 추가**: 현재 폴더 또는 레포명 입력 → 필요한 기능만 선택\n\n### 대화형 설정\n- **레포 이름**: 입력 또는 현재 폴더 자동 감지\n- **보일러플레이트**: Go, Next.js, Python 등 org 템플릿 선택\n- **브랜치**: channel-git-flow (master + exp) 자동 생성\n- **Rulesets**: 브랜치 보호 규칙 자동 적용\n- **CI**: 언어별 빌드/테스트 워크플로우 (TypeScript, Go, Python)\n- **AI Review Bot**: claude-code-action 또는 core-be-review-bot 선택\n\n### 기존 레포 분석\n- GitHub API로 원격 레포 자동 분석\n- 언어 감지 (package.json, go.mod, pyproject.toml)\n- 기존 CI/Review Bot/브랜치 존재 여부 확인\n- 이미 있는 설정은 알려주고, 덮어쓸지 선택 가능\n\n### 보일러플레이트 (org 템플릿)\n| 템플릿 | 언어 | 설명 |\n|--------|------|------|\n| `go-boilerplate` | Go | Go 서비스 표준 |\n| `golang-app-template` | Go | Go 앱 |\n| `next-template` | TypeScript | Next.js |\n| `python-boilerplate` | Python | Python 서비스 |\n| `cursor-cli` | Go | CLI 도구 |\n\n### 브랜치 전략 (channel-git-flow)\n- `master`: 프로덕션 배포 브랜치 (default)\n- `exp`: 개발 브랜치 (대부분의 PR 대상)\n\n### AI Review Bot\n\n두 가지 옵션 중 선택:\n- **claude-code-action**: 커스텀 에이전트 리뷰 (SKILL.md 기반)\n- **core-be-review-bot**: 범용 리뷰 봇 (중앙 관리)\n\n#### claude-code-action 커스터마이징\n\n스크립트가 기본 리뷰 스킬(`.claude/skills/code-review/SKILL.md`)을 생성합니다. 프로젝트에 맞게 커스터마이징하려면:\n\n1. **SKILL.md 수정** — 리뷰 절차, 심각도 기준, 코멘트 문체를 프로젝트에 맞게 조정\n2. **전문 에이전트 추가** — `.claude/skills/code-review/agents/` 아래에 에이전트 파일 생성\n\n에이전트 예시 (channel-labs):\n```\n.claude/skills/code-review/agents/\n├── api-design.md      # API 설계, 라우트, 응답 포맷\n├── code-quality.md    # 버그, 보안, 에러 핸들링\n└── eda-pipeline.md    # 도메인 특화 리뷰\n```\n\n각 에이전트 파일에는 담당 영역과 체크리스트를 정의합니다. SKILL.md에서 에이전트를 병렬로 디스패치하면 멀티앵글 리뷰가 가능합니다.\n\n참고: [channel-labs 리뷰 봇 구현](https://github.com/channel-io/channel-labs/tree/feature/claude-to-gpt/.claude/skills/code-review)\n\n## 필요한 Secrets\n\nAI Review Bot 사용 시 아래 secrets가 org 또는 레포 레벨에 필요합니다:\n\n| 종류 | 이름 | 용도 |\n|------|------|------|\n| Variable | `CTO_PROPOSAL_CLIENT_ID` | GitHub App ID (org 레벨에 이미 설정됨) |\n| Secret | `CTO_PROPOSAL_PRIVATE_KEY` | GitHub App private key (org 레벨에 이미 설정됨) |\n| Secret | `ANTHROPIC_API_KEY` | Claude API key (레포별 설정 필요) |\n\n## 사전 요구사항\n\n- Node.js 20+\n- `gh` CLI 인증 (`gh auth login`)\n- channel-io org 접근 권한\n\n## 개발\n\n```bash\nnpm install\nnpm run dev         # 로컬 실행\nnpm run dev -- --dry-run  # dry-run 모드\nnpm run build       # 빌드\n```\n","readmeFilename":"README.md"}