xiaohongshu
xiaohongshu
20-build-domain
Status: ACTIVE AppliesTo: v10
Full skill instructions
Status: ACTIVE
AppliesTo: v10
DomainKey와 ProtocolGroup이 추가될 때마다 빌드 산출물이 자동으로 늘어나는 구조를 정의한다.framework-ts/tools/builder/build.js 기반 빌드 전반{buildInputJson} (예: input/input_common.json){configJson} (예: input/config.json)skills/devian-tools/21-build-error-reporting/SKILL.md)| 용어 | 정의 |
|---|---|
| DomainKey | 도메인 식별자 (예: Game, Common) |
| ProtocolGroup | 프로토콜 그룹 식별자 (예: Game) |
| buildInputJsonDir | buildInputJson 파일이 위치한 디렉토리. 상대경로 해석의 기준 |
| {tempDir} | 빌드 중간 산출물이 생성되는 staging 디렉토리 |
| {configJson} | 빌드 설정 파일 (출력 경로 등 정의) |
bash input/build.sh <buildInputJson>
node framework-ts/tools/builder/build.js <buildInputJson>
<buildInputJson>은 빌드 입력 JSON 파일 경로 (예: input/input_common.json)buildInputJson을 읽고, 그 안의 configPath로 설정 파일을 로드한다.| 필드 | 타입 | 설명 |
|---|---|---|
version | string | 빌드 스펙 버전 |
configPath | string | 설정 파일 경로 (buildInputJsonDir 기준 상대경로) |
tempDir | string | staging 디렉토리 경로 |
domains | object | 도메인 정의 (map 형태) |
protocols | array | 프로토콜 정의 (배열 형태) |
{
"DomainKey": {
"contractDir": "Domains/Game/contracts",
"contractFiles": ["*.json"],
"tableDir": "Domains/Game/tables",
"tableFiles": ["*.xlsx"]
}
}
DomainKey (예: "Game", "Common")contractDir, tableDir는 buildInputJsonDir 기준 상대경로[
{
"group": "Game",
"protocolDir": "Protocols/Game",
"protocolFiles": ["C2Game.json", "Game2C.json"]
}
]
group은 ProtocolGroup 식별자| 필드 | 필수 | 설명 |
|---|---|---|
moduleDir | ✓ | C# 모듈 출력 디렉토리 |
generateDir | 옵션 | C# 생성 코드 디렉토리 (미지정 시 moduleDir 사용) |
| 필드 | 필수 | 설명 |
|---|---|---|
moduleDir | ✓ | TS 모듈 출력 디렉토리 |
generateDir | 옵션 | TS 생성 코드 디렉토리 (미지정 시 moduleDir 사용) |
| 필드 | 필수 | 설명 |
|---|---|---|
sourceDir | ✓ | UPM 소스 디렉토리 |
packageDir | ✓ | UPM 패키지 출력 디렉토리 |
| 필드 | 필수 | 설명 |
|---|---|---|
tableDirs | ✓ | 테이블 출력 디렉토리 배열 |
stringDirs | ✓ | String 테이블 출력 디렉토리 배열 |
soundDirs | ✓ | 사운드 데이터 출력 디렉토리 배열 |
CRITICAL: config.json에
dataConfig키가 존재하면 빌드가 즉시 FAIL한다 (deprecated). tableConfig의 각 Dir 배열에 대해 해당 데이터 유형이 출력된다.
| 필드 | 타입 | 설명 |
|---|---|---|
samplePackages | string[] | 샘플 패키지 목록 (com.devian.samples만 허용) |
samplePackages에는 com.devian.samples만 포함할 수 있다.com.devian.foundation 또는 com.devian.domain.* 가 들어가면 FAIL (Generated 덮어쓰기/삭제 위험).staticUpmPackages 키는 금지이며 존재 시 FAIL.{csConfig.generateDir}/Devian.Domain.{DomainKey}/
{tsConfig.generateDir}/devian-domain-{domainKeyLower}/
{upmConfig.sourceDir}/com.devian.domain.{domainKeyLower}/
C#: {csConfig.generateDir}/Devian.Protocol.{ProtocolGroup}/
TS: {tsConfig.generateDir}/devian-protocol-{protocolGroupLower}/
UPM: {upmConfig.sourceDir}/com.devian.protocol.{protocolGroupLower}/
일반 테이블 (tableConfig.tableDirs):
{tableDir}/ndjson/{TableName}.json
{tableDir}/pb64/{TableName}.asset
String Table (tableConfig.stringDirs):
{stringDir}/ndjson/{Language}/{TableName}.json
{stringDir}/pb64/{Language}/{TableName}.asset
Sound 데이터 (tableConfig.soundDirs):
{soundDir}/ndjson/{TableName}.json
{soundDir}/pb64/{TableName}.asset
{DomainKey} 폴더 없음{tempDir}는 staging 전용이며 커밋 금지| 조건 | 결과 |
|---|---|
tableConfig.tableDirs 누락 | 즉시 FAIL |
tableConfig.stringDirs 누락 | 즉시 FAIL |
tableConfig.soundDirs 누락 | 즉시 FAIL |
아래 필드가 존재하면 즉시 FAIL 처리됨:
| 위치 | Forbidden 필드 |
|---|---|
config.json | dataConfig (deprecated) |
domains[*] | csTargetDir |
domains[*] | tsTargetDir |
domains[*] | dataTargetDirs |
protocols[*] | csTargetDir |
protocols[*] | tsTargetDir |
protocols[*] | upmName |
protocols[*] | upmTargetDir |
총 8개 금지 필드. 하나라도 발견되면 빌드가 중단된다.
Game 도메인/프로토콜 예제의 상세 설명은 별도 스킬 문서를 참조한다:
예제 정책:
skills/devian-examples/01-policy/SKILL.md
예제 입력 위치:
devian/input/Domains/Game/contracts/**devian/input/Domains/Game/tables/**devian/input/Protocols/Game/**input/config.json에 samplePackages: ["com.devian.samples"]만 존재한다.input/config.json에 staticUpmPackages 키가 존재하지 않는다 (금지 필드).framework-cs/upm/com.devian.domain.sound/Runtime/Generated/Sound.g.cs 가 존재한다.framework-cs/apps/UnityExample/Packages/com.devian.domain.sound/Runtime/Generated/Sound.g.cs 가 존재한다.CS0246 (SOUND/VOICE not found) 가 발생하지 않는다.framework-cs/upm/**/package.json에서 com.devian.core, com.devian.unity dependency가 0개여야 한다.framework-cs/apps/UnityExample/Packages/**/package.json에서도 위 dependency가 0개여야 한다.framework-ts/tools/builder/build.jsinput/input_common.json — 빌드 입력 예시input/config.json — 설정 파일 예시| 스킬 | 설명 |
|---|---|
skills/devian-core/03-ssot/SKILL.md | 전체 SSOT 정책 |
skills/devian-tools/21-build-error-reporting/SKILL.md | 빌드 에러/로그 표준 |
skills/devian-examples/01-policy/SKILL.md | Game 예제 정책 |
skills/devian-unity/02-unity-bundles/SKILL.md | UPM 번들/복사 흐름 |
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience