How to evolve features that require input and interaction

This commit is contained in:
David Heinemeier Hansson
2026-05-11 15:45:36 +02:00
parent c6ecdd1000
commit 95531a39c0
+4
View File
@@ -97,6 +97,10 @@ Exceptions are allowed for bootstrap, preflight, migration, and package-helper s
When making visual changes, such as Waybar styles or desktop appearance, always take and analyze a screenshot after applying the change to verify the result. Use `omarchy capture screenshot fullscreen save` for fullscreen screenshots.
For interactive UI work, use `wtype` to simulate keyboard input when available. Example: start the UI in the background, wait briefly for focus, then run `wtype -k Right -k Return` to exercise keyboard selection and confirm the resulting command output or state change. Prefer this over manual-only verification when a UI returns a selected value or changes a symlink/config.
When testing layer-shell UI, capture the reference and candidate states as separate screenshots, then compare them visually before further edits. If a launched UI would otherwise remain open, keep track of its PID and stop it after the screenshot; avoid broad process kills unless checking with `ps` first.
# Refresh Pattern
To copy a default config to user config with automatic backup: