Go to file
VinPropane e2d64a7a57 NS-17: PostgreSQL position persistence and integration tests
Wire IPositionStateStore to Npgsql when ConnectionStrings:NeonSprawl is set,
with versioned DDL under server/db/migrations and a shared PostgresPositionBootstrap
for schema plus dev-player seeding at host startup. In-memory tests override Postgres
registrations when CI sets the connection string globally.

Add GitHub Actions Postgres service for dotnet test, server README updates,
decomposition and implementation-plan docs, code review write-up, and C# brace
conventions in csharp-style rule.
2026-03-30 22:55:17 -04:00
.cursor NS-17: PostgreSQL position persistence and integration tests 2026-03-30 22:55:17 -04:00
.github/workflows NS-17: PostgreSQL position persistence and integration tests 2026-03-30 22:55:17 -04:00
client ci: gate .NET workflow on server paths; add GDScript lint/format CI 2026-03-30 21:16:16 -04:00
content Update README and documentation to reflect project rebranding to "Neon Sprawl". Revise links to vision plan and adjust references in tech stack and decomposition documents. Enhance README with repository layout and instructions for running the server and client. 2026-03-29 17:23:00 -04:00
docs NS-17: PostgreSQL position persistence and integration tests 2026-03-30 22:55:17 -04:00
server NS-17: PostgreSQL position persistence and integration tests 2026-03-30 22:55:17 -04:00
.gitignore Update README and documentation to reflect project rebranding to "Neon Sprawl". Revise links to vision plan and adjust references in tech stack and decomposition documents. Enhance README with repository layout and instructions for running the server and client. 2026-03-29 17:23:00 -04:00
AGENTS.md chore(rules): omit tool attribution from commits and PR text 2026-03-30 19:58:19 -04:00
NeonSprawl.sln NS-15 implement position state api 2026-03-29 23:08:17 -04:00
README.md fix(client): reliable NS-14 click-to-move without NavigationMesh 2026-03-29 22:08:25 -04:00
docker-compose.yml Update README and documentation to reflect project rebranding to "Neon Sprawl". Revise links to vision plan and adjust references in tech stack and decomposition documents. Enhance README with repository layout and instructions for running the server and client. 2026-03-29 17:23:00 -04:00
gdlintrc Add gdlintrc for GDScript linting configuration 2026-03-30 21:25:44 -04:00
neon_sprawl_vision.plan.md docs(vision): drop Cursor todo block and Todo N Output headings 2026-03-30 20:56:51 -04:00

README.md

Neon Sprawl

Neon Sprawl is the working title for a classless, crafting-focused sci-fi / cyberpunk MMORPG (solo-dev scope). Product intent and phase gates: neon_sprawl_vision.plan.md.

Tech stack (locked)

Area Choice
Client Godot 4.x (GDScript)
Game server C# / .NET 10 (ASP.NET Core), PostgreSQL, Protobuf (JSON OK for earliest spike)
Content JSON/YAML + JSON Schema in CI

Full rationale and constraints: docs/architecture/tech_stack.md.

Decomposition

Epic-level breakdown: docs/decomposition/README.md.

Git workflow

  • Documentation (Markdown under docs/, README files, neon_sprawl_vision.plan.md): work and commit directly on main.
  • Code and implementation (server/client source, Godot project, content/ data, Docker/build/CI config): use a branch, then merge to main when ready. Mixed doc + code changes follow the branch rule.

Repository layout (prototype scaffold)

Path Purpose
NeonSprawl.sln .NET solution
server/NeonSprawl.Server/ ASP.NET Core game server
client/ Godot 4.x project (import project.godot)
content/ JSON data + JSON Schema (skills/, schemas/)
docker-compose.yml Local PostgreSQL (docker compose up -d)

Run the server

cd server/NeonSprawl.Server && dotnet run

Then open http://localhost:5253/health (port from launchSettings.json).

Run Postgres locally

docker compose up -d

Connection (dev): host localhost, port 5432, database neon_sprawl, user neon_sprawl, password neon_sprawl_dev.

Run the client

Open the client/ folder in Godot 4.6 and run the main scene (see client/README.md).