From 7a54a40e32f31a0cac81832438ee3d5b6f2bf7f4 Mon Sep 17 00:00:00 2001 From: Jiri Puc Date: Fri, 29 May 2026 09:30:52 +0200 Subject: [PATCH] remove atomic bomberman template --- .../templates/atomic_bomberman_lol/.gitignore | 4 -- .../main/workflows/execution/config.yaml | 8 --- .../main/workflows/execution/prompt.txt | 64 ------------------- .../main/workflows/goal_check/config.yaml | 8 --- .../main/workflows/goal_check/prompt.txt | 28 -------- .../main/workflows/planning/config.yaml | 9 --- .../main/workflows/planning/prompt.txt | 52 --------------- .../loopy_loop_config.yaml | 51 --------------- .../atomic_bomberman_lol/loopy_loop_goal.txt | 5 -- 9 files changed, 229 deletions(-) delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.gitignore delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/config.yaml delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/prompt.txt delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/config.yaml delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/prompt.txt delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/config.yaml delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/prompt.txt delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_config.yaml delete mode 100644 src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_goal.txt diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.gitignore b/src/loopy_loop/templates/atomic_bomberman_lol/.gitignore deleted file mode 100644 index 0affdf7..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.loopy_loop/sessions/ -.loopy_loop/state.json -.loopy_loop/state.json.lock -.loopy_loop/state.json.archive_*.json diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/config.yaml b/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/config.yaml deleted file mode 100644 index 40ce723..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -enabled: true -run_every: 1 -must_follow: planning -not_before_iteration: 1 -description: | - Implement the first unchecked task from PLAN.md, run project checks, commit - the change, and mark the task done. Runs only after a successful planning - iteration so there is always a concrete task queued up. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/prompt.txt b/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/prompt.txt deleted file mode 100644 index e10e47f..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/execution/prompt.txt +++ /dev/null @@ -1,64 +0,0 @@ -You are implementing the next task from `PLAN.md` for the multiplayer -Atomic-Bomberman-inspired game project. - -Steps for THIS ITERATION: - -1. Read `PLAN.md` at the repo root. Pick the FIRST unchecked task - (the first `- [ ]` under `## Next`). If no unchecked task exists, write - an `unresolvable_error` control signal (see step 6) with - `reason="no_pending_task"` and exit; the next planning iteration will - refill the queue. - -2. Implement the picked task end-to-end: - - Production code + matching tests when the task involves runtime behavior. - - Docs/config updates when the task calls for them. - - Stay inside the scope of the one picked task. Do not greedily pull in - follow-up items even if they look easy. - -3. Run every project check that already exists (in this approximate order): - install/build -> typecheck -> lint -> unit tests -> any e2e smoke. Fix - anything YOU broke in this iteration. Do NOT fix pre-existing failures - unrelated to your task; instead, append a `- [ ] Investigate: ` - entry to the `## Next` section of `PLAN.md` so the next planning iteration - decides how to handle it. - -4. Commit the change as a single focused git commit. Message style: - - Imperative subject under 72 chars ("feat:", "fix:", "docs:", "chore:", - "test:" prefix when clear). - - Body (optional) with one paragraph of context if non-obvious. - - Do NOT force-push, amend published commits, or touch remotes. - -5. After the commit, mark the completed task `[x]` in `PLAN.md` and move it - from `## Next` to `## Done`. This is a SEPARATE commit: - `docs: mark done`. - -6. If you cannot make progress (external dependency missing, requirement - contradictory, tooling not installable in this environment), write a - control signal JSON file. The harness provides the output directory via a - `control.json` path shown in your working-area contract; the file content - must be exactly: - - { - "unresolvable_error": true, - "reason": "", - "schema_version": 1 - } - - Then exit without committing. The coordinator will stop the loop. - -Hard constraints THIS ITERATION: -- Implement AT MOST one planned task. If the task turns out to be too large - once you start, stop, commit whatever actually works, and append a - `- [ ] Split: ` note to `## Next`. Do NOT silently skip the - unfinished part. -- Do NOT edit `loopy_loop_config.yaml`, any `.loopy_loop/` file, or any - workflow prompts/configs. -- Do NOT rewrite PLAN.md's `## Done` section. Only add to it. -- Never bypass git hooks (`--no-verify` is forbidden unless the user has - explicitly told you otherwise in the task). - -Output expectations: -- Two commits at most: one for the implementation, one for the PLAN.md - status update. -- Your final chat response must, in under 120 words, state which task you - picked, what commits you produced, and whether any checks failed. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/config.yaml b/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/config.yaml deleted file mode 100644 index e921a36..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -enabled: true -run_every: 1 -must_follow: execution -not_before_iteration: 1 -description: | - Evaluate whether the repo satisfies the goal's completion_criteria. Runs - after every successful execution iteration so we check at most once per - completed unit of work. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/prompt.txt b/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/prompt.txt deleted file mode 100644 index fd0df98..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/goal_check/prompt.txt +++ /dev/null @@ -1,28 +0,0 @@ -Evaluate whether the repo now satisfies the loopy-loop goal for the -multiplayer Atomic-Bomberman-inspired game. - -Before deciding, confirm each completion criterion from -`loopy_loop_config.yaml` by inspecting the repo: -- Run the documented local-run command (e.g. `make run`, `npm run dev`) if - one exists and is safe to invoke non-interactively, OR read the scripts - section of `package.json` / `Makefile` to verify the entrypoint exists. -- Read `README.md`, `docs/characters.md`, and any test files to confirm the - criteria are actually backed by code, not just claims in documentation. -- Run the project's test suite if one is configured. A passing suite is a - strong positive signal; a failing suite means the goal is not yet met. - -Err on the side of "not met". A single criterion failing means `goal_met` -must be false. If the repo is empty or bootstrap is incomplete, `goal_met` -is obviously false. - -Write exactly one JSON file to the goal_check.json output path provided in -your working-area contract. The content must be exactly: - -{ - "goal_met": , - "reason": "", - "schema_version": 1 -} - -Do not modify any other files. Do not commit. Do not run destructive -commands. Your only output is the JSON signal. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/config.yaml b/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/config.yaml deleted file mode 100644 index 87e2c39..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/config.yaml +++ /dev/null @@ -1,9 +0,0 @@ -enabled: true -run_every: 1 -must_follow: null -not_before_iteration: 0 -description: | - Update PLAN.md with the next 3-5 small, testable tasks toward the game goal. - This workflow never writes code; it only produces/updates the plan. It should - always be the first workflow in a fresh rotation so execution has something - concrete to pick up. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/prompt.txt b/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/prompt.txt deleted file mode 100644 index c062a76..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/.loopy_loop/workflow_sets/main/workflows/planning/prompt.txt +++ /dev/null @@ -1,52 +0,0 @@ -You are planning the next unit of work on a multiplayer Atomic-Bomberman-inspired -game with League-of-Legends-style QWER character abilities. - -Context you MUST read before planning (skip silently if a file does not exist): -- The repo root: `README.md`, `PLAN.md`, `docs/STACK.md`, `docs/characters.md`. -- The last ~20 commits: `git log --oneline -20`. -- The completion_criteria and stop_criteria in `loopy_loop_config.yaml` — - the plan exists to move the repo toward those criteria. - -Your job THIS ITERATION is to produce an updated `PLAN.md` at the repo root -containing the next 3-5 concrete, shippable tasks. Each task must be: -- Small enough to complete in a single execution iteration. -- Testable — it includes an explicit "done when" acceptance criterion. -- Ordered by dependency; earlier tasks must not depend on later ones. - -Structure the file as GitHub-flavored Markdown with a top-level heading and -unchecked tasks under a `## Next` section, each shaped like: - -``` -- [ ] - - Done when: - - Notes: -``` - -If `PLAN.md` already exists: -- Preserve completed tasks marked `[x]` under a `## Done` section; never rewrite them. -- Replace or revise the `## Next` section based on current repo state and - history. Remove tasks that are no longer relevant; add ones that are. - -If the repo is empty (bootstrap iteration), your plan must start with: -1. Choose the tech stack (default: vanilla JS + HTML5 Canvas + a tiny - WebSocket server only if multiplayer requires it) and record the - decision in `docs/STACK.md` with one paragraph of reasoning. -2. Scaffold project structure (`package.json` or equivalent, entry HTML, - `src/` layout) plus a "hello world" canvas render. -3. Set up a test harness invocable via `npm test` (or the stack equivalent) - with at least one passing smoke test. -4. Write a first draft of `docs/characters.md` with one placeholder character - kit so later tasks have a concrete editing target. - -Hard constraints THIS ITERATION: -- Do NOT write any application code or configs outside `PLAN.md`. (You may - read anything.) -- Do NOT change `loopy_loop_config.yaml`, workflow configs, or the - `.loopy_loop/` tree. -- Do NOT mark any task as done — marking completion is the execution - workflow's responsibility. - -Output expectations: -- The only file this iteration should modify is `PLAN.md`. -- Your final chat response must summarize (in under 120 words) what changed - in `PLAN.md` and why. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_config.yaml b/src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_config.yaml deleted file mode 100644 index ad2dab8..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_config.yaml +++ /dev/null @@ -1,51 +0,0 @@ -goal_file: "loopy_loop_goal.txt" -workflow_set: "main" -completion_criteria: - - "Running `make run` (or the stack's documented equivalent) serves the game locally and opens it in a browser without errors" - - "At least two players can join the same match and interact with each other's bombs and abilities" - - "Grid-based map with destructible soft walls, indestructible hard walls, and at least two pickup types (e.g. extra bomb, longer blast)" - - "Bombs explode on a timer with a blast radius that is blocked by hard walls and destroys soft walls; chain explosions propagate when another bomb is caught in a blast" - - "At least four distinct characters, each with a passive plus Q/W/E/R actives; every active has an explicit cooldown defined in code and respected at runtime" - - "Abilities, bombs, and movement are all authoritative on the server (or, for a local-only MVP, a single source-of-truth game loop) — no client can fake state" - - "Automated tests cover: bomb placement + blast, chain explosion, ability cooldown, and round-end win detection" - - "README explains: how to install deps, how to run a local match, how abilities map to QWER keys, and lists every character's ability kit" - - "A character-kit spec document (e.g. `docs/characters.md`) describes each champion's passive + QWER with damage, range, cooldown, and a one-line design intent" -stop_criteria: - - "A workflow updates session control.json to stopped with stop_reason unresolvable_error" - - "The chosen stack requires a paid service or secret the agent cannot provision" - - "Multiplayer requirement is incompatible with the execution environment (e.g. no way to bind a local port)" - - "Three consecutive goal_check outputs are invalid or unreadable (handled automatically by goal_check_consecutive_failures_cap)" -max_turns: 60 -goal_check_consecutive_failures_cap: 3 -team_harness_provider: "codex" -team_harness_model: "gpt-5.5" -team_harness_agents: - - "codex" - - "claude" - - "gemini" -team_harness_agent_models: - codex: "gpt-5.5" -team_harness_agent_reasoning_efforts: {} -# Optional coordinator retry controls. Omit to use team-harness defaults. -# team_harness_max_retries: 8 -# team_harness_retry_base_delay_s: 2.0 -# team_harness_retry_max_delay_s: 60.0 -team_harness_api_base: "https://openrouter.ai/api/v1" -team_harness_api_key_env: "OPENROUTER_API_KEY" -team_harness_system_prompt_extension: | - You are contributing to an open-source game project: a multiplayer - browser-playable Atomic-Bomberman-inspired game with - League-of-Legends-style QWER character abilities. - - Preferences: - - Prefer the simplest viable tech stack that can plausibly ship an MVP. - Vanilla JS + HTML5 Canvas is the default; pull in a small framework only - if it demonstrably removes more complexity than it adds. - - Keep commits small and focused; each iteration should leave the repo in a - working state. No big-bang refactors. - - Design around a single authoritative game loop on the server (or a single - game-state module if the MVP is local-only). Do not duplicate state - between client and server. - - When in doubt about scope, favor "playable demo" over "feature complete". - - Record non-obvious design decisions in `docs/` alongside the code that - embodies them. Treat `PLAN.md` as the living worklist, not a design doc. diff --git a/src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_goal.txt b/src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_goal.txt deleted file mode 100644 index d86c7d3..0000000 --- a/src/loopy_loop/templates/atomic_bomberman_lol/loopy_loop_goal.txt +++ /dev/null @@ -1,5 +0,0 @@ -Build a browser-playable multiplayer game inspired by Atomic Bomberman, where -each of at least four unique characters has a passive and four active -abilities bound to Q, W, E, R with cooldowns - in the spirit of League of -Legends champion kits. The MVP supports 2-4 players on one map, destructible -walls, chain explosions, pickups, and a last-player-standing win condition.