The central pipeline lints where the old inline one did not, and it
aborts on any warning. Nothing here was actually wrong: 166 of the 243
warnings were the TIC-80 API and the game's own globals being undeclared,
which is what .luacheckrc is for — the same shape impostor already uses.
The rest was trailing whitespace on 14 lines, now stripped. INPUT_KEY_X
is unused but kept: it belongs to the LEFT/RIGHT/A/B/X/Y set and removing
it would leave a gap in the mapping, so luacheck is told to allow the
family.
Verified locally by merging the sources the way the pipeline does and
running luacheck over the result: 0 warnings, 0 errors.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This repo still carried the inline pipeline from before the config
extension, including the droparea SSH upload that predates
/build/upload. That step asked for a droparea_ssh_password secret which
no longer exists, so every run failed before reaching the publish.
The marker config gets the same pipeline every other TIC-80 repo gets,
and the artifacts go through /build/upload and /build/publish.
The Makefile keeps its ci-upload target and DROPAREA_* variables; they
are now unused by CI and can go in a separate pass.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This repo still carries the full inline pipeline from before the config
extension, so the image reference is spelled out here rather than served
centrally — and it was the last thing pointing at the internal package
namespace, which is about to be emptied.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
TIC-80 export win/linux/mac players with the cart baked in, uploaded
as release assets. Also switch the tic80pro image reference to the
canonical registry host.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Added a new section to GEMINI.md to explicitly state that the agent should not perform git add or git commit operations in the future, as this responsibility will be handled by the user.
Consolidate dialog-related properties into a single 'dialog' table within the main 'State' object. This improves data organization and clarifies ownership of the dialog state.
The following properties were moved into :
- ->
- ->
- ->
- ->
- -> (previously implicit global)
All references to these properties have been updated throughout the codebase to reflect the new structure.