2.8 KiB
ADDED Requirements
Requirement: Game management plugin manifest defines server creation
A game management plugin SHALL provide a manifest that declares plugin identity, supported server type, create form schema, server lifecycle actions, required run capabilities, optional plugin pages, and AI/file/log permissions.
Scenario: Valid plugin installed
- WHEN a plugin manifest declares a valid server type and required capabilities
- THEN the platform MUST expose it in the plugin marketplace and allow creating server instances from it
Scenario: Plugin manifest requests unsafe access
- WHEN a plugin manifest requests direct run credentials, raw host paths, or raw AI provider keys
- THEN the platform MUST reject or disable that contribution
Requirement: Plugins use platform bridge only
Plugin page and plugin actions SHALL access platform abilities through a typed bridge or platform API and MUST NOT connect directly to run, log storage, artifact storage internals, or AI provider endpoints.
Scenario: Plugin reads logs
- WHEN a plugin needs logs for a server instance
- THEN it MUST query platform log APIs by server instance, stream, time range, cursor, or analysis window
Scenario: Plugin invokes AI
- WHEN a plugin invokes AI for config or log assistance
- THEN it MUST send a scoped platform AI request and receive a bounded response that excludes provider secrets
Requirement: Local plugin development is first-class
The project SHALL support local game management plugin development where a plugin can be registered as a dev plugin, provide UI from a dev server or static directory, and exercise real platform-run job, file, log, and AI flows against a selected test server instance.
Scenario: Developer runs local plugin
- WHEN a developer starts a local plugin in dev mode
- THEN platform_web MUST show the plugin as a dev game management plugin without requiring a marketplace publish
Requirement: Plugin definitions are organized
The plugins/ workspace SHALL keep manifests, schemas, UI contracts, action definitions, test fixtures, and shared plugin SDK code in predictable directories.
Scenario: Plugin adds action input schema
- WHEN a plugin adds or changes an action input
- THEN the schema MUST live in a dedicated schema/contract location and tests MUST cover validation behavior
Requirement: Plugin can create many server instances
A game management plugin installation SHALL be reusable for multiple server instances with isolated configuration, artifacts, jobs, logs, and permissions per server instance.
Scenario: Two servers from one plugin
- WHEN a user creates two server instances from the same plugin
- THEN each instance MUST have separate configuration state, run binding, log streams, and artifact references