Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/CodySwannGT/lisa --skill phaser-project-structure명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
any non-trivial request —…
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | phaser-project-structure |
| description | creating, restructuring, or… |
This stack targets Phaser 4 (v4.2+, npm package phaser@^4.2.0), built
with Vite + TypeScript — the layout the official phaserjs/template-vite-ts
template and npm create @phaserjs/game@latest scaffold. Phaser 4 ships its own
type definitions (types/phaser.d.ts); do not add @types/phaser.
| Path | Role |
|---|---|
index.html | Single page that loads src/main.ts; owns the game container div |
src/main.ts | Game config + new Phaser.Game(config) — the only bootstrap file |
src/scenes/ | One scene class per file (Boot.ts, Preloader.ts, MainMenu.ts, Game.ts, …) |
src/logic/ | Pure TypeScript game logic — no phaser imports (testable) |
src/assets.ts | Typed asset-key constants (texture, audio, anim, scene keys) |
public/assets/ | Static assets served by Vite (atlases, audio, packs) — never imported |
tests/ | Vitest unit tests for src/logic/** and pure helpers |
dist/ | Vite build output — generated, never edited or committed |
One config object in src/main.ts. The opinionated baseline:
const config: Phaser.Types.Core.GameConfig = {
type: Phaser.AUTO, // WebGL; Canvas renderer is deprecated in v4
width: 1280,
height: 720,
parent: "game-container",
backgroundColor: "#028af8",
scale: {
mode: Phaser.Scale.FIT,
autoCenter: Phaser.Scale.CENTER_BOTH,
},
physics: {
default: "arcade",
arcade: { gravity: { x: 0, y: 0 }, debug: false }, // fixedStep defaults to true in v4 — keep it
},
scene: [Boot, Preloader, MainMenu, Game],
};
v4-specific config facts:
roundPixels now defaults to false (v3 defaulted true). Leave it — the
new default prevents flicker on rotated/scaled objects.pixelArt: true (nearest-neighbor + roundPixels), or the new
render.smoothPixelArt: true (WebGL-only) for pixel art that rotates or
scales smoothly. Pick one per project and record the choice.render.renderNodes — see the official filters-and-postfx skill.Phaser.HEADLESS exists for logic-only boots (tests) — see [[phaser-testing]].Four-stage boot, in order (see the official scenes skill for lifecycle detail):
loading-assets skill), then starts MainMenu.HUD, Pause run in parallel) — gameplay.src/; bun run dev (vite), bun run build
(vite build), bun run preview serve and package it.src/logic/ as pure functions/classes so Vitest can run them without
a browser.src/assets.ts constants — a typo in an inline string
key fails at runtime only; a typo in a constant fails at compile time.Phaser.Math.RND (or a local RandomDataGenerator) from a
single place; never Math.random() in game code.A structural change is verified when bun run typecheck, bun run test, and
bun run build pass AND the game boots: bun run dev, open the page, confirm
the canvas renders past the Preloader with no console errors.