ワンクリックで
cpr-firmware
// Use when modifying CPR-vCodex firmware code, reader behavior, UI activities, rendering, input handling, storage, HAL, EPUB/TXT/XTC parsing, settings, i18n, or ESP32-C3 resource-sensitive C++.
// Use when modifying CPR-vCodex firmware code, reader behavior, UI activities, rendering, input handling, storage, HAL, EPUB/TXT/XTC parsing, settings, i18n, or ESP32-C3 resource-sensitive C++.
Use when changing CPR-vCodex reading statistics, streaks, achievements, daily goals, manual reading-time corrections, import/export, Reading Stats screens, analytics, or the browser stats editor.
Use when preparing CPR-vCodex releases, version bumps, GitHub tags, firmware artifacts, release notes, CI checks, GitHub Pages, browser auto-flash, docs/firmware/manifest.json, or docs/flash.html.
Use when comparing or syncing CPR-vCodex with upstream crosspoint-reader, CrossInk, crosspet, papyrix, or other forks; cherry-picking changes; assessing fork divergence; or deciding whether a third-party feature should be ported.
| name | cpr-firmware |
| description | Use when modifying CPR-vCodex firmware code, reader behavior, UI activities, rendering, input handling, storage, HAL, EPUB/TXT/XTC parsing, settings, i18n, or ESP32-C3 resource-sensitive C++. |
Read agent-docs/firmware-constraints.md before firmware changes that affect
runtime behavior, memory, display rendering, input, storage, parsing, settings,
or activity lifecycle.
rg and follow existing patterns before adding a new
abstraction.python -X utf8 scripts/gen_i18n.py lib/I18n/translations lib/I18n/, and do
not manually edit generated i18n headers.python -X utf8 -m platformio run -e default -j 1
Use gh_release as an additional build when the change is release-facing or
could affect binary size:
python -X utf8 -m platformio run -e gh_release -j 1
MappedInputManager::Button::* for logical buttons in activities, not raw
hardware IDs.800 and
480 unless documenting the physical panel.