Adding a New Game System
See docs/project/game-systems.md for the comprehensive guide, including design rationale and a VtM example.
Quick Summary
- •Add enum value to
common/v1/game_system.proto. - •Create
internal/systems/{name}/with domain logic and state handlers. - •Implement
systems.GameSysteminterface (includingStateFactoryandOutcomeApplier). - •Create protos in
api/proto/systems/{name}/v1/(mechanics, state, service). - •Create extension tables in
internal/storage/sqlite/migrations/. - •Create gRPC service in
internal/api/grpc/systems/{name}/. - •Add MCP domain handlers in
internal/mcp/domain/{name}.go. - •Add integration tests.