앱 개발 모노레포 템플릿
Overview
여러 앱을 한 repository에서 개발하기 위한 monorepo 템플릿입니다. 이 repo는 앱 소스와 민감정보를 포함하지 않습니다. 대신 새 앱을 빠르게 시작하는 데 필요한 문서 템플릿, 공통 배포 스크립트, App Store Connect / Google Play 자동화 helper, 정적 페이지 호스팅 가이드, Claude Code / Codex skill 문서를 제공합니다. GitHub의 버튼으로 새 repository를 만들거나 clone 후 사용합니다. 생성 후 utilities/my-app/ROADMAP.md를 먼저 실제 출시 범위에 맞게 수정합니다. 토큰 사용량과 결과 품질의 균형을 위해 새 앱 개발 세션은 아래 설정을 기본으로 권장합니다. - Claude Code: Claude Opus 4.x 최신 모델, thinking/reasoning xhigh, Don't Ask 모드 - Codex: GPT-5.x 최신 모델, reasoning high, Full Access Mode 회사 코드나 민감한 production repository에서는 권한 모드를 낮추고 승인 절차를 유지합니다. 앱 개발환경을 처음 세팅하는 사람에게는 앱 개발환경 셋업 프롬프트를 공유하면 됩니다. Claude Code나 Codex에 붙여넣으면 장비 점검, 템플릿 clone, 새 앱 생성, ROADMAP 작성, 배포 환경변수 확인, 홈페이지 호스팅 선택까지 순서대로 진행하도록 설계되어 있습니다.
README
앱 템플릿
여러 앱을 한 repository에서 개발하기 위한 monorepo 템플릿입니다.
이 repo는 앱 소스와 민감정보를 포함하지 않습니다. 대신 새 앱을 빠르게 시작하는 데 필요한 문서 템플릿, 공통 배포 스크립트, App Store Connect / Google Play 자동화 helper, 정적 페이지 호스팅 가이드, Claude Code / Codex skill 문서를 제공합니다.
빠른 시작
GitHub의 Use this template 버튼으로 새 repository를 만들거나 clone 후 사용합니다.
git clone [email protected]:/app-templates.git my-apps
cd my-apps
npm run new-app -- \
--name=my-app \
--platform=ios \
--category=utilities \
--bundle-id=com.example.myapp \
--display-name="MyApp" \
--description="사용자의 문제를 해결하는 앱 설명" \
--hosting=netlify
npm run check-docs
npm run check-env -- --app=utilities/my-app --platform=ios
생성 후 utilities/my-app/ROADMAP.md를 먼저 실제 출시 범위에 맞게 수정합니다.
권장 AI 설정
토큰 사용량과 결과 품질의 균형을 위해 새 앱 개발 세션은 아래 설정을 기본으로 권장합니다.
- Claude Code: Claude Opus 4.x 최신 모델, thinking/reasoning
xhigh, Don’t Ask 모드 - Codex: GPT-5.x 최신 모델, reasoning
high, Full Access Mode
회사 코드나 민감한 production repository에서는 권한 모드를 낮추고 승인 절차를 유지합니다.
공유용 프롬프트
앱 개발환경을 처음 세팅하는 사람에게는 앱 개발환경 셋업 프롬프트를 공유하면 됩니다. Claude Code나 Codex에 붙여넣으면 장비 점검, 템플릿 clone, 새 앱 생성, ROADMAP 작성, 배포 환경변수 확인, 홈페이지 호스팅 선택까지 순서대로 진행하도록 설계되어 있습니다.
영상 설명란에 전체 대본을 함께 공유하려면 앱 공장 개발환경 셋업 영상 스크립트를 사용합니다.
구조
apps-template/
├── apps-deployment/ # iOS / macOS / Flutter 공통 배포 스크립트
├── .claude/skills/ # /new-app, /ios-deploy, /flutter-deploy, /macos-deploy
├── .codex/skills/ # Codex용 new-app, ios-deploy, flutter-deploy, macos-deploy skill
├── docs/ # 공개 설명용 문서와 영상 스크립트
├── .github/workflows/ # 템플릿 자체 검증 CI
├── infra/ # Netlify / Vercel / AWS 정적 페이지 호스팅 가이드
├── prompts/ # 공개 공유용 프롬프트
├── scripts/ # 새 앱 생성, 문서 검사, 환경변수 검사
└── templates/ # 앱 문서와 docs 페이지 템플릿
새 앱을 시작할 때
node scripts/new-app.mjs로 필요한 카테고리 디렉터리와//디렉터리를 함께 만듭니다.- 생성된
README.md,AGENTS.md,CLAUDE.md,ROADMAP.md를 실제 앱 내용에 맞게 수정합니다. ROADMAP.md를 먼저 작성하고, 목적 / 핵심 기능 / 디자인 원칙 / 개발 우선순위 / 출시 전 체크리스트를 계속 갱신합니다.- 정적 페이지가 필요하면
/docs/에index.html,privacy.html등을 두고infra/에서 Netlify, Vercel, AWS 중 하나를 선택합니다. - 배포가 필요하면
/deploy.config.sh를 작성하고apps-deployment/스크립트나 Claude Code / Codex skill을 사용합니다.
카테고리 폴더는 템플릿 repo에 미리 만들지 않습니다. 실제 앱이 생길 때 필요한 분류만 추가합니다.
예:
node scripts/new-app.mjs \
--name=my-app \
--platform=ios \
--category=utilities \
--bundle-id=com.example.myapp \
--display-name="MyApp" \
--description="사용자의 문제를 해결하는 앱 설명" \
--hosting=netlify
템플릿 검증
npm run check-docs
npm run check-env -- --app=utilities/my-app --platform=ios
npm run build-static-site -- --out=public-site
npm run ci
check-env는 배포 환경변수가 비어 있을 때 어디서 값을 확인하고 어떻게 export하거나
deploy.config.sh에 저장할지 안내합니다.
배포 설정
공통 기본값은 apps-deployment/shared.config.sh에 둡니다. 앱별 값은 각 앱의
deploy.config.sh에서 export합니다.
APPS_DEPLOY_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../apps-deployment" && pwd)"
export APPS_DEPLOY_DIR
source "$APPS_DEPLOY_DIR/shared.config.sh"
export ASC_BUNDLE_ID="com.example.myapp"
export ASC_APP_NAME="MyApp"
export PLAY_PACKAGE_NAME="com.example.myapp"
비밀 값은 repository 밖에 둡니다.
- App Store Connect:
~/.appstoreconnect/private_keys/AuthKey_.p8 - Google Play:
~/.playconsole/-sa.json - Android 서명: 로컬 keystore와
key.properties
정적 페이지 호스팅
infra/는 앱별 docs/ 홈페이지를 공개하는 방법을 안내합니다.
- Netlify:
infra/netlify/README.md - Vercel:
infra/vercel/README.md - AWS:
infra/aws/README.md
Terraform은 AWS를 선택한 경우에만 infra/aws/에서 사용합니다.
Netlify/Vercel 공유 site를 쓰는 경우 npm run build-static-site -- --out=public-site로
각 앱의 docs/를 public-site// 형태로 모을 수 있습니다.
Claude Code / Codex 호환
루트와 각 앱 디렉터리는 AGENTS.md를 기준 문서로 사용하고, CLAUDE.md는 같은 디렉터리의
AGENTS.md를 참조합니다. Claude Code용 skill은 .claude/skills/, Codex용 skill은
.codex/skills/에 같은 이름으로 둡니다. 이렇게 두면 두 도구가 같은 작업 지침과 배포 흐름을
공유할 수 있습니다.
라이선스
0BSD 라이선스입니다. 재배포, 수정, 상업적 사용, 비공개 사용이 가능하며 소스 공개나 라이선스 고지 유지 의무가 없습니다.
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add limsangjin12/app-templates