diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05ed60f..1d36dec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ on: push: branches: - main + - develop workflow_dispatch: permissions: diff --git a/.github/workflows/sync-engine-release.yml b/.github/workflows/sync-engine-release.yml index 7f9535a..3e6a789 100644 --- a/.github/workflows/sync-engine-release.yml +++ b/.github/workflows/sync-engine-release.yml @@ -28,6 +28,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 + ref: main - name: Set up PHP uses: shivammathur/setup-php@v2 diff --git a/AGENTS.md b/AGENTS.md index f095724..76d36fe 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -13,4 +13,12 @@ These projects demonstrate Lenga workflows and are versioned independently from - Validate affected PHP with `php -l`, run `composer validate --strict`, and open the affected project in a compatible Lenga Editor build before sharing changes. - Use Conventional Commits, preferably with the sample as scope, such as `fix(pong): restore paddle input`. +## Remote Branch Policy + +- Keep feature, fix, release-preparation, agent, and other topic branches local by default. Never push a non-`develop` branch to GitHub or another remote unless the user explicitly instructs you to push that named branch. +- The normal sharing workflow is to finish or merge local work into local `develop`, then push only `develop` to the remote `develop` branch. Do not push `main` directly unless the user explicitly instructs it. +- A request to implement, commit, continue, prepare a release, or create a branch is not permission to publish a topic branch. Do not infer remote-push permission from the broader task. +- Before every push, verify the current branch and use an explicit `develop:develop` refspec for the normal workflow. Never rely on a bare `git push` when it could publish another branch. +- If the user explicitly authorizes a remote topic branch, remove that remote branch after it is merged or closed unless the user asks to preserve it. + Avoid presenting these projects as engine release gates or as prebuilt public game downloads. Their purpose is to provide editable source examples that help developers understand and combine Lenga features. diff --git a/README.md b/README.md index 75b5514..076441b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +
Lenga Engine Logo
@@ -6,18 +7,18 @@ This repository contains editable Lenga projects that show how engine features fit together in real games. Open a project in the Lenga Editor, inspect its scenes and components, and use the PHP scripts as practical starting points for your own work. -These are source projects rather than prebuilt game downloads. They evolve independently from the engine repository and may target features on Lenga's current development branch. +These are source projects rather than prebuilt game downloads. They evolve independently of the engine repository and may target features on Lenga's current development branch. ## Projects -| Project | Mode | What it demonstrates | -| --- | --- | --- | -| [Blasters](./Blasters) | 2D | A compact space-shooter project with input, animation, projectiles, and gameplay behaviours. | -| [HelloWorld](./HelloWorld) | 2D and 3D | A feature sandbox for camera behaviours, 2D joints, 3D models, and simple scripted objects. | -| [Platformer](./Platformer) | 2D | A larger platformer project with tile-based levels, animation controllers, combat, menus, audio mixing, and gameplay state. | -| [Pong](./Pong) | 2D | Physics-driven paddle gameplay, configurable input, runtime spawning, UI, and scene transitions. | -| [RollerWorld](./RollerWorld) | 3D | A roll-a-ball game using 3D physics, follow cameras, lighting, materials, shaders, audio, UI, and collectibles. | -| [Super Blastoid](./Super%20Blastoid) | 3D | A minimal 3D project for experimenting with scene setup and native components. | +| Project | Mode | What it demonstrates | +|--------------------------------------|-----------|-----------------------------------------------------------------------------------------------------------------------------| +| [Blasters](./Blasters) | 2D | A compact space-shooter project with input, animation, projectiles, and gameplay behaviours. | +| [HelloWorld](./HelloWorld) | 2D and 3D | A feature sandbox for camera behaviours, 2D joints, 3D models, and simple scripted objects. | +| [Platformer](./Platformer) | 2D | A larger platformer project with tile-based levels, animation controllers, combat, menus, audio mixing, and gameplay state. | +| [Pong](./Pong) | 2D | Physics-driven paddle gameplay, configurable input, runtime spawning, UI, and scene transitions. | +| [RollerWorld](./RollerWorld) | 3D | A roll-a-ball game using 3D physics, follow cameras, lighting, materials, shaders, audio, UI, and collectibles. | +| [Super Blastoid](./Super%20Blastoid) | 3D | A minimal 3D project for experimenting with scene setup and native components. | ## Requirements diff --git a/docs/release-automation.md b/docs/release-automation.md index 84ecea5..a22a909 100644 --- a/docs/release-automation.md +++ b/docs/release-automation.md @@ -19,7 +19,7 @@ The dispatch is idempotent. Repeating it for a version already in use produces n Configure the following in the `lengaengine/php-engine` repository: - Secret `SAMPLES_REPOSITORY_TOKEN`: a fine-grained token with permission to dispatch workflows in the samples repository. -- Optional variable `LENGA_SAMPLES_REPOSITORY`: the target in `owner/repository` form. It defaults to `lengaengine/samples`. +- Optional variable `LENGA_SAMPLES_REPOSITORY`: the target in `owner/repository` form. It defaults to `lengaengine/example-games`. The samples repository must allow GitHub Actions to write repository contents because the receiving workflow commits regenerated dependency locks.