Skip to content

ci: feedback-theme.css token lint — validate required --feedback-* tokens are defined in each app #116

Description

@wcmchenry3-stack

Summary

The feedback widget theme contract (.claude/policies/feedback-widget-tokens.md) defines a set of required --feedback-* CSS custom properties. Currently there is no automated check that an app's frontend/feedback-theme.css actually defines all of them — enforcement is manual.

This issue tracks adding a reusable called workflow (called-feedback-token-lint.yml) that:

  1. Reads the machine-readable schema at schemas/feedback-widget-tokens.schema.json (already exists)
  2. Extracts all tokens marked "required": true
  3. Checks the app's frontend/feedback-theme.css to confirm every required token is defined (i.e. a --feedback-<token>: declaration is present)
  4. Fails the check if any required token is missing, listing exactly which ones

Acceptance criteria

  • called-feedback-token-lint.yml added to .github/workflows/
  • Uses schemas/feedback-widget-tokens.schema.json as the source of truth — no hardcoded token list in the workflow
  • Accepts a feedback-theme-path input (default: frontend/feedback-theme.css) so apps with non-standard layouts can override
  • Reports missing tokens clearly in the step output
  • Wired into ci-cloudflare-workers.yml or a new caller so it runs on PRs that touch frontend/feedback-theme.css
  • Advisory by default — follows the same policy-enforcement.yml pattern as the design-token check

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions