# Repository Guidelines ## Project Structure & Module Organization The Godot project root lives at `project.godot`, so keep it versioned whenever you change project settings or input maps. Playable content sits under `scenes/`, with `TestSlope.tscn` configured as the main entry point and `Car.tscn` providing reusable vehicle pieces. Gameplay scripts reside in `scripts/`; keep filenames aligned with their node owners and leave autogenerated `.gd.uid` files intact. Shared materials and physics resources are stored under `materials/`, while `GDRIVE_RACERS_DEV_PLAN.yaml` captures roadmap notes—update it when scope or priorities shift. ## Build, Test, and Development Commands Use Godot 4.4.x for all work. `godot4 --path . --editor` launches the editor and ensures resources reimport correctly after asset or input changes. `godot4 --path . --run` plays the main scene listed in `project.godot`. For quick smoke tests without the editor, run `godot4 --path . --run scenes/TestSlope.tscn` to spawn directly on the slope. ## Coding Style & Naming Conventions Scripts follow GDScript 2 with four-space indentation and snake_case for variables and functions (see `scripts/CarBody.gd`). Exported properties stay grouped at the top with `@export`, and private helpers keep a leading underscore. Name scenes, nodes, and resources in PascalCase (`TestSlope`, `CameraRig`) to match editor expectations. Keep physics constants centralized at the top of each file and use typed variables to avoid implicit casts. ## Testing Guidelines There is no automated test harness yet, so rely on manual playthroughs. Before opening a PR, run `godot4 --path . --run scenes/TestSlope.tscn` and verify steering, downhill boost, and reset behaviour. If you tweak physics or camera settings, capture a short screen recording or describe the validation steps in the PR description. ## Commit & Pull Request Guidelines The repository has no established commit history; adopt an imperative subject such as `Add tighter lateral damping` and keep commits scoped to one gameplay concern. Commit both `.tscn` and `.gd` updates together so the scene graph stays consistent. Pull requests should include a concise summary, testing notes, and relevant screenshots or GIFs for visual tweaks. Link planning tasks from `GDRIVE_RACERS_DEV_PLAN.yaml` when applicable.