chore: B1 모노레포 스캐폴드 스켈레톤 (yakcloud-packages)

- pnpm+turbo workspace, tsconfig base, .npmrc(Gitea 레지스트리)
- 7 패키지 스텁(ds-sdk 리프 → ui/api-client type-only → client-shell/bff-kit; backup-core 신규)
  package.json 의존으로 DAG·역의존 금지 규칙 강제
- Apache-2.0 LICENSE + NOTICE/LOGO_ATTRIBUTION(벤더 상표 로고 미번들, URL-only)
- .gitea/workflows/ci.yml(build/typecheck/lint · bind-env-drift · secret-scan · standalone-smoke)
- scripts: bind-env-check(check-only 게이트) · standalone-smoke(lazy-require 불변식) 스켈레톤
- apps/ds-web standalone 데모 스텁

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-25 11:02:21 +09:00
commit 4307e1ddb8
37 changed files with 579 additions and 0 deletions

View File

@ -0,0 +1,14 @@
#!/usr/bin/env node
// bind-env SSOT check-only 게이트 (§4-F). 2축 대조:
// (a) 서비스별 <ALIAS>_* 환경변수 접미사 집합
// (b) URL 템플릿(스킴·쿼리키·특수플래그: authSource/JDBC thin/USE_SSL 등)
// 정본 = packages/ds-sdk/src/bind-env.json (9종: MONGODB..ORACLE)
// 대상 = private-cluster infra/api/yakcloud_api.py _bind_env_for() (sparse-checkout)
// 추가 리컨실: examples-data 커버리지(현재 8종, ORACLE 예제 부재) 경고.
// TODO(B3): ds-sdk/src/bind-env.json 확정 후 실제 파싱·대조 구현. 현재는 스켈레톤(경고 후 통과).
import { argv } from "node:process";
const pyIdx = argv.indexOf("--python");
const py = pyIdx >= 0 ? argv[pyIdx + 1] : null;
console.warn("[bind-env-check] SKELETON — ds-sdk/bind-env.json 미확정. python target:", py ?? "(none)");
console.warn("[bind-env-check] TODO: 접미사+URL템플릿 2축 대조 + examples-data(8종) 리컨실 구현(B3).");
process.exit(0);