repo-layout
% MUGS Repository Layout
Reviewed 2021-03-04 by japhb
Raku-MUGS Repos
MUGS-Core : Core modules
MUGS-Games : Free-as-in-speech game implementations
MUGS-UI-CLI : CLI UI, including App and game UIs
MUGS-UI-WebSimple : WebSimple UI, including HTTP gateway and game UIs
MUGS : Root repo; includes docs and depends on all other released repos
General Layout of All Repos
Not all repos will contain all directories listed below, but what directories they do have will match the following general layout:
.
āā bin # Small launch wrappers for MUGS::App::* apps
āā doc
ā āā design # Design docs
ā āā todo # Open todos
āā lib
ā āā MUGS
ā āā App # Launchable apps (client, server, or admin/util/tool)
ā āā Client # *Non-UI* portions of client code
ā āā Server # Server code
ā āā UI # User interfaces (sharing common Client code above)
ā āā Util # Utility modules
ā
āā resources # Read-only (non-code) resources
āā t # Tests
Detailed Views
MUGS-Core
.
āāā bin # mugs-admin, mugs-tool, mugs-ws-server
ā
āāā docs # CONTRIBUTING.md (see MUGS repo for others)
ā
āāā lib
ā āāā MUGS # Common base modules
ā ā
ā āāā App # App modules for bin/ + LocalUI base for UI Apps
ā ā
ā āāā Client # *Non-UI* portions of client code
ā ā āāā Connection # Communication channels to servers
ā ā āāā Game # Client-side logic for Echo and Lobby
ā ā āāā Genre # Shared client code for Test genre
ā ā
ā āāā Server # Server code
ā ā āāā Connection # Communication channels with clients
ā ā āāā Game # Server-side logic for Echo and Lobby
ā ā āāā Genre # Shared server code for Test genre
ā ā āāā Storage # Server-side persistent storage
ā ā āāā Driver # Storage drivers: Red::SQLite + Fake (in-memory)
ā ā
ā āāā Util # Utility modules
ā
āāā resources # Read-only (non-code) resources
ā āāā conf # Configuration defaults
ā āāā fake-tls # Fake TLS certs for local testing
ā
āāā t # Tests
MUGS-Games
.
āāā docs # CONTRIBUTING.md (see MUGS repo for others)
ā
āāā lib
ā āāā MUGS
ā āāā Client
ā ā āāā Game # Client-side per-game-type logic
ā ā āāā Genre # Shared client code for common game genres
ā āāā Server
ā āāā Game # Server-side per-game-type logic
ā ā āāā Adventure # Extra support modules for Adventure game
ā āāā Genre # Shared server code for common game genres
ā
āāā resources
ā āāā game # Game-specific resource files
ā āāā adventure # Adventure scenarios
ā āāā new-path # 'new-path' scenario
ā
āāā t # Tests
MUGS-UI-CLI
.
āāā bin # mugs-cli
ā
āāā docs # CONTRIBUTING.md (see MUGS repo for others)
ā
āāā lib
ā āāā MUGS
ā āāā App # App module for mugs-cli
ā āāā UI # MUGS::UI::CLI plain text interface base module
ā āāā CLI # Line-editing input driver
ā āāā Game # Game type specific CLI interfaces
ā āāā Genre # Shared CLI code for common game genres
ā
āāā t # Tests
MUGS-UI-WebSimple
.
āāā bin # mugs-web-simple
ā
āāā css # Common CSS files
ā
āāā docs # CONTRIBUTING.md (see MUGS repo for others)
ā
āāā lib
ā āāā MUGS
ā āāā App # App modules for mugs-web-simple
ā ā āāā WebSimple
ā āāā UI
ā āāā WebSimple
ā āāā Game # Game type specific WebSimple interfaces
ā āāā Genre # Shared WebSimple code for common game genres
ā
āāā resources
ā āāā fake-tls # Fake TLS certs for local testing
ā
āāā t # Tests
ā
āāā templates # HTML templates
MUGS
.
āāā docs # CONTRIBUTING.md
ā āāā design # Design docs, diagrams, and ruminations
ā āāā todo # Open todos
ā
āāā lib # MUGS module (used to build README)
ā
āāā t # Tests