React App for Comfy Registry
  • TypeScript 94.8%
  • MDX 2.6%
  • JavaScript 2.1%
  • CSS 0.5%
Find a file
2026-08-24 12:24:44 -07:00
.claude/skills format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
.github/workflows Harden GitHub Actions CLA commit-author allowlist (#275) 2026-08-24 12:24:44 -07:00
.husky fix: update pre-commit hook to use system lint-staged command (#187) 2025-07-25 10:20:33 +00:00
.storybook format: Apply prettier --fix changes 2026-03-23 19:55:22 +09:00
.vscode chore: migrate to oxlint/oxfmt for faster linting and formatting 2026-01-22 11:54:20 +09:00
app/api/auth/github format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
components feat(i18n): searchable language selector with keyboard navigation (#261) 2026-04-29 14:19:53 +09:00
docs perf: implement React best practices for performance optimization (#245) 2026-03-31 14:11:55 +09:00
locales feat(i18n): searchable language selector with keyboard navigation (#261) 2026-04-29 14:19:53 +09:00
pages Replace Mixpanel with PostHog tracking on registry website (#269) 2026-06-22 09:54:26 -07:00
public fix: replace favicon with square brand icon (#274) 2026-07-07 20:26:13 +05:00
scripts format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
src Replace Mixpanel with PostHog tracking on registry website (#269) 2026-06-22 09:54:26 -07:00
styles chore: Update indentation from 4 spaces to 2 spaces (#230) 2025-10-26 16:32:03 +09:00
utils format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
.env feat(claim-node): implement node claiming functionality for publishers (#90) 2025-07-10 17:43:32 +08:00
.eslintignore Add accept or reject node page for admins. 2025-01-03 20:18:05 -08:00
.eslintrc.json feat(a11y): add axe-core CI workflow and enable jsx-a11y/alt-text rule 2026-03-23 19:55:22 +09:00
.gitignore feat(admin): add ban/unban actions to nodes dashboard (#240) 2026-01-14 02:50:55 +00:00
.prettierignore init commit 2024-04-12 10:32:16 -07:00
.prettierrc chore: migrate to oxlint/oxfmt for faster linting and formatting 2026-01-22 11:54:20 +09:00
biome.json format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
bun.lock Replace Mixpanel with PostHog tracking on registry website (#269) 2026-06-22 09:54:26 -07:00
CLAUDE.md feat: add (admin) label to Ban Node button (#241) 2026-01-14 21:09:55 +09:00
cors.json chore: Update indentation from 4 spaces to 2 spaces (#230) 2025-10-26 16:32:03 +09:00
LICENSE Create LICENSE 2024-06-17 18:48:55 -07:00
middleware.ts format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
next.config.ts format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
orval.config.ts format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
package.json Replace Mixpanel with PostHog tracking on registry website (#269) 2026-06-22 09:54:26 -07:00
postcss.config.cjs chore: migrate to oxlint/oxfmt for faster linting and formatting 2026-01-22 11:54:20 +09:00
README.md chore: migrate to oxlint/oxfmt for faster linting and formatting 2026-01-22 11:54:20 +09:00
sflow.d.ts format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
tailwind.config.cjs chore: migrate to oxlint/oxfmt for faster linting and formatting 2026-01-22 11:54:20 +09:00
tsconfig.json format: Apply prettier --fix changes 2026-01-22 11:54:20 +09:00
vercel.json chore: Update indentation from 4 spaces to 2 spaces (#230) 2025-10-26 16:32:03 +09:00
vitest.config.ts fix(storybook): disable HMR during vitest runs to prevent WebSocket errors 2026-03-23 19:55:22 +09:00

Comfy Registry Frontend

The frontend React App for Comfy Registry.

Registry React Frontend Github

Registry CLI Github

Getting Started

Set up IDE

VSCode

Install Prettier + Eslint extensions.

.vscode/settings.json is set up in the workspace to lint + format code on save.

Local Development

Run the development server

git checkout dev
curl -fsSL https://bun.sh/install | bash
bun install
bun dev

Open http://localhost:3000 with your browser to see the result.

GitHub OAuth App Setup

For features that require GitHub authentication (like node claiming), you'll need to set up a GitHub OAuth App. See docs/github-app.md for detailed setup instructions.

Storybook

We use Storybook for component development and documentation. To run Storybook:

pnpm run storybook

Open http://localhost:6006 to view the component library. Storybook allows you to:

  • View and interact with components in isolation
  • Test different component states and variations
  • See documentation for components
  • Develop UI components in isolation without running the full app

Visual Testing with Chromatic

We use Chromatic for visual testing and UI reviews:

# Make sure to set your project token
export CHROMATIC_PROJECT_TOKEN=your_token
pnpm run chromatic

See docs/chromatic-setup.md for more details on our Chromatic CI/CD integration.

Workflows & Automation

Update PR Branches

We provide a GitHub Actions workflow to automatically update open PR branches with the latest changes from main. This is useful for:

  • Keeping long-running PRs up-to-date
  • Reducing merge conflicts
  • Repository maintenance

See docs/update-pr-branches.md for detailed usage instructions.

Generate Code Stub based on OpenAPI Spec

Start the dev server.

Currently, the Orval spec is in orval.config.js. It points to the OpenAPI spec in your localhost server. This can be changed to staging or prod.

npx orval

This generates react queries that you can use in your Components.

Deployments

Production

Make a PR to the main branch. Once merged, Vercel will deploy to https://comfyregistry.org

CORS

To enable CORS on the google cloud storage bucket, reference the cors.json file. More info here.

gcloud storage buckets update gs://comfy-registry --cors-file=cors.json