Plain Guide: Editing Website Words Safely with WingCMS¶
What is WingCMS?¶
WingCMS is the internal tool WorkWingman uses to update the words, text, and structure on our public website. All site copy lives in a single central cloud storage location (a GCS bucket), which acts as the official single source of truth.
Preventing Overwritten Edits¶
When multiple people or AI assistants edit site content around the same time, changes could overwrite each other. WingCMS prevents this with safety locks called ETags:
- Before making changes, editors must run wingcms pull to get the latest copy.
- If someone else saved changes while you were editing, WingCMS detects the ETag mismatch and rejects your write until you pull the newest version.
Checking Content Safety¶
To ensure bad formatting or missing text never breaks the live website:
- You first run local checks with the CLI validator.
- Key Lesson (WING-240): Passing local checks (validate ok) does not guarantee the page is completely safe. The site's own internal checker performs the final validation before copy is considered ready.
Fast Approvals for Text Edits¶
We separate software code changes from simple copy updates: - App Code: Requires heavy automated tests, security scans, and code reviews. - Website Text: Needs only CLI validation and a successful site load check.
Working in Isolated Worktrees¶
To stop uncommitted text changes from leaking into app code builds, all content edits are performed in isolated worktrees, keeping content updates clean and distinct from engineering releases.