diff --git a/AGENTS.md b/AGENTS.md index d68d613..3aa24ad 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,11 +4,11 @@ This file applies to the entire repository. ## Scope -This repository is a game server management platform. Do not add billing, cloud host sales, agent-provider/cloud-provider workflows, or unrelated SaaS marketplace features unless a future OpenSpec change explicitly requires them. +This repository is a game server management platform. Do not add billing, cloud host sales, agent-provider/cloud-provider workflows, or unrelated SaaS marketplace features unless an explicit future product decision requires them. The platform's required first-party areas are 首页、服务器管理、插件市场、用户管理、AI 提供商管理. -The platform_web visual direction is a unified themed game operations console: the default first-party theme is black mecha, and the selectable alternate first-party theme is magical-girl crystal-moonlight. Preserve the style rules in `platform_web/AGENTS.md` and `platform_web/theme/README.md`; do not replace it with generic opaque SaaS cards or unrelated visual systems without a future OpenSpec change. Global theme-aware ultimate effects belong in `platform_web/components/MagicalParticleLayer.tsx`, not in page-local fixed decoration spans or one-off backdrop CSS. +The platform_web visual direction is a unified themed game operations console: the default first-party theme is black mecha, and the selectable alternate first-party theme is magical-girl crystal-moonlight. Preserve the style rules in `platform_web/AGENTS.md` and `platform_web/theme/README.md`; do not replace it with generic opaque SaaS cards or unrelated visual systems without an explicit future product decision. Global theme-aware ultimate effects belong in `platform_web/components/MagicalParticleLayer.tsx`, not in page-local fixed decoration spans or one-off backdrop CSS. ## Project Roots @@ -37,12 +37,9 @@ Do not place implementation code outside the matching root. Shared contracts mus Any task that touches CSS must keep CSS declarations compressed and compact. Do not expand a single selector's style block across many lines when it can be written as a concise one-line rule. -## OpenSpec Rules +## Development Workflow -- Use judgment before creating an OpenSpec change. Create one when the work changes behavior, architecture, public/API contracts, validation rules, persistence, security boundaries, cross-root workflows, or the required product/visual direction. -- OpenSpec is not required for small scoped bug fixes, copy/documentation updates, tests, local refactors without behavior change, or styling/label fixes that preserve the existing visual system. For those, reason through the steps, make the edit directly, and report the verification performed. -- If an OpenSpec change is created, update proposal/design/specs/tasks before implementation when behavior, architecture, or validation rules change. -- If an OpenSpec change is created, do not mark its tasks complete until verification evidence exists, and run `openspec validate --strict` before completion. +- Do not use OpenSpec artifacts, commands, or skills for new work. Implement requested changes directly in the appropriate project root and record the relevant verification evidence in the handoff. ## Task Creation Rules diff --git a/README.md b/README.md index d2e4a82..781f1e6 100644 --- a/README.md +++ b/README.md @@ -182,18 +182,6 @@ Before claiming a change is complete, run: ```bash scripts/check-structure.sh -openspec validate --strict ``` If a change adds new required directories, contracts, generated artifacts, or architectural rules, update `scripts/check-structure.sh` in the same change. - -## OpenSpec Stream - -The bootstrap proposal and delivery stream live at: - -```text -openspec/changes/bootstrap-game-server-platform-architecture/ -openspec/changes/architecture-delivery-stream/ -``` - -Use `openspec/changes/architecture-delivery-stream/delivery-plan.md` to pick the next implementation change. diff --git a/platform_web/AGENTS.md b/platform_web/AGENTS.md index 154185b..3a177cf 100644 --- a/platform_web/AGENTS.md +++ b/platform_web/AGENTS.md @@ -12,7 +12,7 @@ Do not define API clients, shared DTOs, route definitions, schemas, or bridge co ## Interaction Rules -Management list pages must keep the primary list, grid, or table as the full-width working surface. Do not add permanent right-side create/edit/detail panes or fixed left-list/right-form master-detail layouts for users, plugins, AI providers, servers, or similar management resources. Use modals, drawers, or detail routes for create, edit, and detail workflows unless a future OpenSpec change explicitly requires an inline split layout. +Management list pages must keep the primary list, grid, or table as the full-width working surface. Do not add permanent right-side create/edit/detail panes or fixed left-list/right-form master-detail layouts for users, plugins, AI providers, servers, or similar management resources. Use modals, drawers, or detail routes for create, edit, and detail workflows unless an explicit future product/design decision requires an inline split layout. Server card and resource-row action menus must behave like real compact dropdowns/popovers, not like full-height button towers. The screenshot-failure pattern is explicitly forbidden: opening "运行操作" or any similar trigger must not inject a tall vertical stack of large command buttons inside a card, over a card, or between cards where it covers metrics, health bars, titles, status badges, or neighboring cards. diff --git a/platform_web/theme/README.md b/platform_web/theme/README.md index d0ec6f0..37f1ea0 100644 --- a/platform_web/theme/README.md +++ b/platform_web/theme/README.md @@ -23,7 +23,7 @@ This directory owns the platform_web visual system. Keep the console in a unifie ## Background Rules -- `defaultThemePaletteId` must remain `mecha-black` unless an OpenSpec change explicitly replaces the visual direction. +- `defaultThemePaletteId` must remain `mecha-black` unless an explicit future product/design decision replaces the visual direction. - `defaultThemeBackgroundId` should point to a built-in mecha desktop preset that works without uploaded imagery. - Built-in presets use CSS variables named `--workspace-background-pattern-*` and render behind the app shell. - Uploaded backgrounds use `--workspace-background-image`, set `data-custom-background="true"`, and take visual precedence over the selected preset. @@ -70,4 +70,4 @@ This directory owns the platform_web visual system. Keep the console in a unifie 3. If a new shared pattern is truly needed, add it in `base.css` and describe its intended use here. 4. When placing empty/loading/error states inside an existing shared panel, verify the state view does not introduce a second framed panel or accessory layer. 5. If a new palette or background preset is added, update `tokens.ts`, `tokens.test.ts`, and any CSS contract tests together. -6. Run the relevant focused checks before claiming completion. Use `npm run typecheck`, `npm test`, `npm run build`, and `scripts/check-structure.sh` when the scope warrants them; run `openspec validate --strict` only when an OpenSpec change was created. +6. Run the relevant focused checks before claiming completion. Use `npm run typecheck`, `npm test`, `npm run build`, and `scripts/check-structure.sh` when the scope warrants them. diff --git a/scripts/check-structure.sh b/scripts/check-structure.sh index bd9d06f..7729b2b 100755 --- a/scripts/check-structure.sh +++ b/scripts/check-structure.sh @@ -107,14 +107,6 @@ required_paths=( "scripts/local-debug/smoke.sh" "scripts/local-debug/stop.sh" "scripts/local-debug/reset.sh" - "openspec/changes/bootstrap-game-server-platform-architecture/proposal.md" - "openspec/changes/bootstrap-game-server-platform-architecture/design.md" - "openspec/changes/bootstrap-game-server-platform-architecture/tasks.md" - "openspec/changes/bootstrap-game-server-platform-architecture/specs/project-workspace-governance/spec.md" - "openspec/changes/bootstrap-game-server-platform-architecture/specs/game-server-platform-core/spec.md" - "openspec/changes/bootstrap-game-server-platform-architecture/specs/run-execution-channel/spec.md" - "openspec/changes/bootstrap-game-server-platform-architecture/specs/game-plugin-system/spec.md" - "openspec/changes/bootstrap-game-server-platform-architecture/specs/platform-web-console/spec.md" ) missing=0