AgentSkillsCN

20 Workspace

20 工作空间

SKILL.md

Devian v10 — Workspace

Status: ACTIVE AppliesTo: v10 SSOT: skills/devian-core/03-ssot/SKILL.md

Purpose

Devian TypeScript 프로젝트의 단일 workspace 구조와 npm 정책을 정의한다.


Hard Rules (MUST)

1. 단일 Workspace Root

  • Root: framework-ts/package.json만 workspace root
  • Lockfile: framework-ts/package-lock.json만 유효
  • node_modules: framework-ts/node_modules만 존재

2. 하위 폴더 Install 금지

하위 폴더(module/, apps/, tools/*)에서 직접 npm install 금지. 반드시 framework-ts/에서 실행한다.


Root package.json

파일: framework-ts/package.json

json
{
  "name": "devian-framework-ts",
  "version": "10.0.0",
  "type": "module",
  "private": true,
  "workspaces": [
    "module/*",
    "apps/*",
    "tools/*"
  ],
  "scripts": {
    "builder": "npm -w builder run build --",
    "archive": "npm -w archive run archive --",
    "dev:client": "npm -w game-client run dev",
    "start:server": "npm -w game-server run start"
  }
}

Scripts 사용법

명령어설명
npm run builder -- ../{buildInputJson}빌드 실행 (예: npm run builder -- ../input/input_common.json)
npm run archive -- <args>프로젝트 아카이브
npm run dev:client클라이언트 개발 서버
npm run start:server게임 서버 시작

tsconfig.json

파일: framework-ts/tsconfig.json

targetES2020
moduleESNext
moduleResolutionnode
baseUrl.
paths.@devian/core["./module/devian/src"]

npm ci Contract

CI/CD 환경에서는 npm ci를 사용한다.

bash
cd framework-ts
npm ci

Recovery (lockfile 손상 시)

bash
cd framework-ts
rm -rf node_modules package-lock.json
npm install

See Also

  • Archive: skills/devian-tools/90-project-archive/SKILL.md
  • SSOT: skills/devian-core/03-ssot/SKILL.md
  • Build: skills/devian-tools/20-build-domain/SKILL.md