Comfy-Org / Comfy-Org/ComfyUI_frontend

Enforce remaining AGENTS.md class-binding and important-style restrictions

Open
#17,255 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2k
Forks
704
Avg merge
1d 8h
Merged PRs (30d)
512

Description

Enforce the remaining AGENTS.md UI-style restrictions in active lint tooling: array-form Vue `:class` merging should use `cn()`, and CSS/Tailwind important modifiers should be rejected or explicitly tracked as existing debt.

Verified against commit `686a91971eccaec062b39830764b04e5d0aa8a03`: `.stylelintrc.json` has no `declaration-no-important` rule, and the inspected ESLint/Oxlint configuration has no matching array-class or important-modifier restriction.

The original review also requested explicit-any enforcement. That part is already present: `.oxlintrc.json` configures `typescript/no-explicit-any` as error. A temporary `src/` probe with an explicit-any declaration exited 1 with that rule; the probe was removed. ESLint's corresponding rule is off because the active check is in Oxlint. Preserve this enforcement rather than adding a redundant rule based on the older review.

Acceptance:

- Lint rejects a new array-form Vue class binding; use the existing `cn()` convention.
- Lint rejects new CSS `!important` and supported Tailwind important-prefix/suffix forms.
- Existing exceptions are inventoried and cannot grow; remediation reduces them.
- Fixture tests prove all three AGENTS.md prohibitions reject reintroduction, including the already-enforced explicit-any rule.

Upstream transfer for FE-2118. Implementation belongs upstream.

Contributor guide

Open the contributing guide

Research direction

Start with .stylelintrc.json, .oxlintrc.json, and the active ESLint/Oxlint configuration; compare the existing cn() convention and explicit-any enforcement with the missing restrictions. Trace the lint fixture-test setup, then ensure new array-form Vue class bindings, CSS !important, supported Tailwind important forms, and explicit any are rejected while existing exceptions are inventoried and cannot grow.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, tailwindcss, typescript
Domain
frontend, testing, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.