feat: yakcloud 강제 가드레일 스캐폴딩 — project init 이 CLAUDE.md + .claude/settings.json(docker-compose 차단) 생성 (v0.26.0)

- init: 프로젝트 루트 CLAUDE.md(항상 로드, yakcloud-only 지침) + .claude/settings.json permissions.deny(docker compose/run 차단) 생성
- update: 위 가드레일 backfill(사용자 편집 보존)
- .claude 통삭제 → skills/commands 만 제거로 수정(프로젝트 settings.json 보존)
- SKILL.md: description 트리거를 로컬 실행·검증·개발환경으로 확장 + compose 금지 원칙

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jungwoo choi
2026-08-31 11:25:50 +09:00
parent 0453520550
commit 6d3118dd47
2 changed files with 73 additions and 7 deletions

View File

@ -1,6 +1,6 @@
---
name: yakcloud-deploy
description: Deploy a project to YakCloud — yakcloud CLI (local kind dev → managed val/prod) or Gitea Actions (v* tag push) → build/push image → reconcile data sources → deploy workloads → bind env → custom domain. Use when deploying this project to YakCloud, editing yakcloud.yaml, binding data sources, adding a domain, or starting a new project.
description: Develop, verify, and deploy this project via the yakcloud CLI (local kind dev → managed val/prod) — never docker-compose. Build/push image → reconcile data sources → deploy workloads → bind env → custom domain. Use when running/testing/verifying the app locally, setting up a local dev environment, deploying to YakCloud, editing yakcloud.yaml, binding data sources, adding a domain, or starting a new project. If tempted to use docker-compose / docker run to run this app, use `yakcloud project deploy` (local kind) instead.
---
# YakCloud 배포 스킬
@ -8,6 +8,14 @@ description: Deploy a project to YakCloud — yakcloud CLI (local kind dev → m
`yakcloud` CLI 로 **로컬 kind 개발 → 관리형 검증/운영**을 한 줄기로 배포한다. 또는 `v*` 태그 push →
Gitea Actions 가 이미지 빌드/푸시 + 콘솔 API 로 데이터소스 리컨실·워크로드 배포·바인딩을 자동 처리.
## 개발·검증도 yakcloud — docker-compose 금지 (원칙)
이 프로젝트의 앱은 **로컬 개발·검증부터 운영까지 전 구간을 yakcloud 로** 진행한다.
- **로컬 실행·검증 = `yakcloud project deploy`** (로컬 kind 자동 생성, 오프라인·무료, 운영과 동일한 바인딩 env·데이터소스).
- **`docker compose` / `docker-compose` / `docker run` 으로 앱을 띄우지 마라** — 프로젝트 `.claude/settings.json` 이 이를 차단하고,
`Dockerfile` 은 yakcloud 의 이미지 빌드 전용이다. compose 스택은 운영과 환경이 달라져 파리티가 깨진다.
- 데이터소스는 손으로 컨테이너를 띄우지 말고 `yakcloud.yaml``requires` 로 선언한다.
(각 프로젝트 루트 `CLAUDE.md` 에 같은 규칙이 항상 로드되도록 심겨 있다 — `yakcloud project init` 이 생성.)
## 실행 규약 (패스스루) — 최우선
`/yakcloud <args>` 로 호출되면 **`yakcloud <args>` 를 Bash 로 그대로 실행하고 출력만 보여준다.**
사전점검(설치/폴더/설정 확인)·결과 재검증·부연설명을 붙이지 말 것 — 터미널에서 직접 친 것과 동일하게 동작.