|
|
7d1c92a406
|
feat(ds-sdk): B3 추출 — DTO·Zod·bind-env 9종·ApiCode (리프)
yakconsole → @yakcloud/ds-sdk 추출(11 모듈):
- enums.ts: 상태/타입 리터럴 유니온 SSOT(값 배열 + type)
- dto/: cluster·service·deployment·account·domain (비밀필드 제외, publicService 계약 동형)
- bind-env.ts: BIND_ENV_VARS 9종(MONGODB..ORACLE) + SERVICE_DEFAULT_PORT + bindEnvPrefix/bindEnvKeys
- schemas.ts: zod(생성/검증 body + DTO), api-codes.ts: ApiCode 유니온 + CODE_STATUS
- zod ^4.4.3(소스 정합), 리프 규칙 준수(react/prisma/next/서버 import 0)
검증: 적대적 Verify=SHIP, bind-env 9종 Python _bind_env_for parity 완전 일치,
누출 0, tsc --noEmit 통과(strict+noUncheckedIndexedAccess+verbatimModuleSyntax).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-08-25 11:14:09 +09:00 |
|
|
|
4307e1ddb8
|
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>
|
2026-08-25 11:02:21 +09:00 |
|