Skip to content
gameguild-ggPublic

About

Open Source Platform for Game Developers A platform designed to connect game developers through community collaboration, educational resources, and tools for playtesting and game launches.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

59 stars

Watchers

4 watching

Forks

Latest commit

 

History

5,321 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameGuild

GameGuild is the open platform where game creators learn, build, and ship together: courses and learning paths, a in-browser code editor, project management, playtesting, and community — in one workspace.

Architecture

The repository is a pnpm monorepo with two applications plus shared tooling:

gameguild/
├── apps/
│   ├── api/                     .NET 10 modular monolith (GameGuild.sln)
│   │   └── Source/
│   │       ├── GameGuild.API/             host composition root (DI, endpoints, security)
│   │       └── Modules/                   platform + domain modules
│   │           ├── GameGuild.Identity.*   authentication, authorization, users, tenants
│   │           ├── GameGuild.Compliance.Audit      central audit trail & evidence packaging
│   │           ├── GameGuild.Content.Pages         CMS pages, content resources, marketing leads
│   │           ├── GameGuild.Learning.*            courses, enrollments, certificates, paths
│   │           ├── GameGuild.Commerce.*            billing, orders, payments, products, plans
│   │           └── ...                    social, projects, teams, finance, analytics, …
│   └── web/                     Next.js App Router app (next-intl, Tailwind, Vitest)
├── packages/                    shared workspace packages (incl. @game-guild/ui)
├── packages/api-client/         generated API client (OpenAPI-driven)
├── tools/                       emception toolchain and build tooling
├── docs/                        architecture and feature documentation
├── e2e/                         Playwright end-to-end suites
└── compose.yaml                 local infrastructure (Postgres, Redis, Garage S3, app services)

Requests flow web (Next.js) → api (ASP.NET Core modules) → PostgreSQL, with Redis for caching/queues and Garage for S3-compatible object storage. Backend invariants (module boundaries, authorization, fail-closed auditing) are enforced at build time by the GGARCH001–008 analyzers — see AGENTS.md.

Quick start

Prerequisites

1. Clone and install

git clone https://github.com/gameguild-gg/gameguild.git
cd gameguild
corepack enable
pnpm install

2. Start local infrastructure

docker compose -f compose.yaml up -d postgres redis garage garage-init openinary

This also provisions the Openinary asset-CDN container (http://localhost:3003). It stores originals in the local Garage bucket and auto-creates an admin + API key on first boot. To enable asset uploads through it:

# one-time: copy the generated API key from the first-boot log
docker compose -f compose.yaml logs openinary | grep "API Key:"
# paste it into .env as OPENINARY_UPLOAD_API_KEY=... (and Assets__Openinary__ApiKey for
# local `pnpm dev` runs), then restart the api if it's running

Without the key everything else works — uploads just fall back to the S3 path.

3. Restore and build the API

dotnet restore apps/api/GameGuild.sln
dotnet build apps/api/GameGuild.sln

4. Run both apps

Two terminals (or use the bundled orchestrator pnpm dev):

# terminal 1 — API on http://localhost:8080
pnpm dev:api

# terminal 2 — web on http://localhost:3000
pnpm dev:web

pnpm dev starts API + web + infrastructure together; pnpm dev:compose runs the full stack in Docker.

Testing

The PR gates that CI enforces:

# API — build must be warning-clean (GGARCH analyzers are errors)
dotnet build apps/api/GameGuild.sln

# API — full test suite (or target a project under apps/api/tests/)
dotnet test apps/api/GameGuild.sln

# Web — unit/integration tests (Vitest)
pnpm -C apps/web test

# Web — production build
pnpm build:web

# Repo-wide lint & policy checks
pnpm lint
pnpm run ci:repository-policy

Contributing

Contributions are welcome. Read CONTRIBUTING.md for the workflow (branching, conventional commits, PR gates) and sign the Contributor License Agreement before your first change. This project follows the Code of Conduct — please keep interactions respectful.

Links

License

Proprietary — all rights reserved by the GameGuild maintainers. See the repository license headers for details.

About

Open Source Platform for Game Developers A platform designed to connect game developers through community collaboration, educational resources, and tools for playtesting and game launches.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

59 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages