Use this checklist after meaningful UI or playback changes and before releases.
- Create and activate a local virtual environment
- Install dependencies from
requirements.txt - Install the project in editable mode with test extras:
.\.venv\Scripts\python.exe -m pip install -e .[dev] - Launch the app with
.\.venv\Scripts\python.exe app.py
- Confirm the main window opens without crashing
- Confirm the application icon and header render correctly if logo files are present
- Confirm the default language and status text appear correctly
- Confirm global hotkeys initialize without errors
- Switch through all supported languages from the language selector
- Confirm the app rebuilds the UI without crashing
- Confirm key labels, buttons, and status text update correctly
- Confirm untranslated or missing labels do not appear in the interface
- Press
F6and confirm recording mode becomes active - Left-click at least two points on screen
- Press
F7and confirm actions appear in the list - Confirm monitor labels and recorded positions are shown
- Select a recorded action
- Change its delay value
- Confirm the updated delay is reflected in the table
- Delete a selected action and confirm the list reindexes correctly
- Save the recording to a
.cfm.jsonfile - Clear the current actions
- Load the saved file back into the app
- Confirm action count and delays are restored correctly
- Start playback with
F8 - Confirm playback can be stopped with
F8 - Confirm loop and human-like options affect playback behavior
- Confirm playback still targets sensible positions after changing screen setup
- 2026-03-19: App startup smoke test passed by launching
ClickForMeApp, running the Tkinter event loop briefly, and closing cleanly - 2026-03-19: Language-switch smoke test passed across all configured language options