# Promiscuity - Project Overview

This project is a multi-layered application consisting of a Godot-based game and a backend powered by .NET microservices and MongoDB.

## Project Structure

- `game/`: The Godot 4.5 game project.
- `microservices/`: ASP.NET Core 8.0 microservices providing backend logic (Auth, Character, Inventory, Locations, etc.).
- `.gitea/workflows/`: CI/CD pipelines for deploying microservices to Kubernetes.

## Core Mandates

- **Godot Development**: Follow guidelines in `game/GEMINI.md`.
- **Microservices Development**: Follow guidelines in `microservices/GEMINI.md`.
- **Infrastructure**: Deployment is handled via K8s. Dockerfiles are located in each microservice directory.

## Getting Started

- **Microservices**: Each microservice can be run individually or via the `micro-services.sln` solution file. They require a MongoDB instance (default: `mongodb://127.0.0.1:27017`).
- **Game**: Open `game/project.godot` in Godot Engine 4.5+.

## Shared Conventions

- **Naming**: Use PascalCase for C# (microservices) and snake_case for GDScript (game), as is idiomatic for each platform.
- **Documentation**: Maintain `DOCUMENTS.md` in microservice directories for API shapes and document models.
- **Communication**: The game communicates with microservices via HTTP/REST.
