CLI
| 명령 | 설명 |
|---|---|
suji init <name> | 새 프로젝트 스캐폴딩 (아래 플래그 참고) |
suji dev | 개발 모드(백엔드 빌드 + CEF + 핫 리로드) |
suji build | 프로덕션 빌드 |
suji run | 프로덕션 빌드 실행 |
suji run main.js | CEF 없이 embedded Node.js 파일 직접 실행 |
suji types [--out <path>] | zig 백엔드 .schema() → SujiHandlers .d.ts 자동 생성 |
suji init
섹션 제목: “suji init”suji init my-app --backend=multi --frontend=react --toolchain=vite --pm=npm# 별칭: npx @suji/cli init my-app · npx create-suji my-app| 플래그 | 값 | 기본 |
|---|---|---|
--backend | none | zig | rust | go | node | lua | multi | rust |
--frontend | react | vue | svelte | solid | preact | vanilla | next | react |
--toolchain | vite | rsbuild | next | vite |
--pm | npm | pnpm | bun | vp (VoidZero Vite+) | npm |
네이티브 suji init 과 @suji/cli(npx) 는 동형으로 동작하며 정적 suji.json
을 생성합니다.
suji types
섹션 제목: “suji types”zig 백엔드의 .schema("ch", Req, Res) 체인을 frontend 모듈 augmentation 으로
자동 추출 — 수동으로 declare module '@suji/api' 를 작성할 필요가 없습니다.
suji types > src/suji.d.ts # stdoutsuji types --out src/suji.d.ts # 파일// 생성 결과 (예)// auto-generated — do not editdeclare module '@suji/api' { interface SujiHandlers { ping: { req: void; res: { msg: string } }; greet: { req: { name: string }; res: { msg: string; greeting: string } }; }}동작: 백엔드 빌드 → dlopen → backend_dump_schema(comptime typeToTs).