Skip to content

Ci/biome format check#1601

Open
kevincodex1 wants to merge 3 commits into
Gitlawb:mainfrom
kevincodex1:ci/biome-format-check
Open

Ci/biome format check#1601
kevincodex1 wants to merge 3 commits into
Gitlawb:mainfrom
kevincodex1:ci/biome-format-check

Conversation

@kevincodex1

Copy link
Copy Markdown
Contributor

Summary

  • What changed: Adds Biome as the repo's formatter with a blocking CI check, in three
    reviewable commits:
    1. ci: — @biomejs/biome (pinned) + biome.json tuned to the codebase's dominant
      existing style (single quotes, semicolons as-needed, 2-space indent, 80 cols,
      arrow parens as-needed). Formatter only: lint rules and assist/import-sorting are
      explicitly disabled. Generated artifacts (src/integrations/generated/,
      sdk/*.generated.ts) and json/md are excluded so generator byte-stability checks
      are unaffected. New scripts lint / lint:fix; new parallel lint job in
      pr-checks (same shape as the typecheck job).
    2. style: — the one-time mechanical reformat: bun run lint:fix over src/, scripts/,
      tests/, web/src — 1,147 of 2,687 files, zero behavior change. One @ts-expect-error
      needed a biome-ignore format pin to stay adjacent to its erroring line; no other
      manual edits.
    3. chore:.git-blame-ignore-revs listing the reformat commit (GitHub honors it
      automatically; locally: git config blame.ignoreRevsFile .git-blame-ignore-revs).
  • Why: the snapshot's style is inconsistent (~25% of files deviate from the dominant
    single-quote/no-semi style), and with no formatter there's no defense against drift —
    format churn pollutes review diffs. Biome runs the whole repo in ~300ms, fits the
    bun-first toolchain, and leaves a zero-config path to lint rules later.

Impact

  • user-facing impact: none — formatting and CI only; no runtime behavior change.
  • developer/maintainer impact: PRs gain a lint status check; bun run lint:fix before
    committing (or editor Biome integration) keeps it green. Reviewing commit 2 is best
    done per-commit, not as one diff. In-flight branches will need a rebase +
    bun run lint:fix pass. Lint rules remain off — enabling a conservative ruleset
    later requires only a biome.json change.

Testing

  • bun run build
  • bun run smoke (incl. bundle guard, after the full reformat)
  • bun run check (3,698 tests, 0 fail, on the reformatted tree)
  • focused tests: bun run lint clean (2,687 files); bun run typecheck exit 0;
    bun run integrations:check byte-stable; bun run typecheck:type-tests green —
    all run after the reformat commit.

Notes

  • provider/model path tested: N/A — no provider behavior touched; provider suites pass
    within bun run check.
  • screenshots attached (if UI changed): N/A.
  • follow-up work or known limitations: (1) heads-up for maintainers — this is an
    invasive-by-design one-time diff; merging promptly minimizes rebase pain for open
    PRs. (2) The sibling PR adding the separate typecheck job touches the same
    workflow file; whichever merges second has a trivial conflict (both add a job).
    (3) Enabling Biome lint rules (recommended set + burn-down) is a natural follow-up.
    (4) Required-checks settings may need the new lint check added by a maintainer.

kevincodex1 and others added 3 commits June 11, 2026 09:43
Adds @biomejs/biome (pinned) with a formatter-only configuration tuned
to the codebase's dominant style (single quotes, semicolons as-needed,
2-space indent, 80 cols, arrow parens as-needed). Linter rules and
assist/import-sorting stay disabled — this enforces formatting only;
enabling lint rules later needs no CI or script changes. Generated
artifacts (integrations, sdk *.generated.ts) and json/md are excluded
so generator byte-stability checks are unaffected.

New scripts: lint (biome check .), lint:fix (biome check --write .).
New parallel lint job in pr-checks mirrors the typecheck job split.

Co-Authored-By: OpenClaude <openclaude@gitlawb.com>
bun run lint:fix over src/, scripts/, tests/, web/src — 1147 files.
One @ts-expect-error in AppState.types.test.tsx needed a
biome-ignore format pin to stay adjacent to its erroring line; no
other manual edits.

Validation: biome check clean; tsc exit 0; integrations artifacts
byte-stable; type-tests green; full suite 3698 green; smoke + bundle
guard green.

Co-Authored-By: OpenClaude <openclaude@gitlawb.com>
Co-Authored-By: OpenClaude <openclaude@gitlawb.com>
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 299 files, which is 149 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a3c07d2e-330a-4048-b578-b06ce3e4f0ad

📥 Commits

Reviewing files that changed from the base of the PR and between d00b105 and 1e027b7.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (299)
  • .git-blame-ignore-revs
  • .github/workflows/pr-checks.yml
  • biome.json
  • package.json
  • scripts/build.ts
  • scripts/externals.ts
  • scripts/generate-integrations-artifacts.ts
  • scripts/generate-sdk-types.ts
  • scripts/grpc-cli.ts
  • scripts/missing-module-stub.test.ts
  • scripts/no-ant-employee-gates.test.ts
  • scripts/no-telemetry-growthbook-stub.test.ts
  • scripts/no-telemetry-plugin.ts
  • scripts/openclaude-bin-heap.test.ts
  • scripts/pr-intent-scan.test.ts
  • scripts/pr-intent-scan.ts
  • scripts/provider-bootstrap.ts
  • scripts/provider-launch.ts
  • scripts/provider-recommend.ts
  • scripts/render-coverage-heatmap.ts
  • scripts/start-grpc.ts
  • scripts/system-check.test.ts
  • scripts/system-check.ts
  • scripts/validate-externals.ts
  • src/QueryEngine.autoCompactCooldown.test.ts
  • src/QueryEngine.ts
  • src/__tests__/bugfixes.test.ts
  • src/__tests__/doctorContextWarnings.test.ts
  • src/__tests__/providerCounts.test.ts
  • src/__tests__/security-hardening.test.ts
  • src/__tests__/statusNoticeLocalModel.test.ts
  • src/assistant/sessionHistory.ts
  • src/bootstrap/state.ts
  • src/bridge/bridgePointer.ts
  • src/bridge/replBridge.ts
  • src/bridge/sessionRunner.test.ts
  • src/bridge/sessionRunner.ts
  • src/bridge/workSecret.test.ts
  • src/buddy/CompanionSprite.tsx
  • src/buddy/useBuddyNotification.tsx
  • src/cli/bg.ts
  • src/cli/handlers/mcp.tsx
  • src/cli/handlers/util.tsx
  • src/cli/handlers/xaiAuth.test.ts
  • src/cli/handlers/xaiAuth.ts
  • src/cli/print.ts
  • src/cli/structuredIO.ts
  • src/cli/update.ts
  • src/commands.test.ts
  • src/commands.ts
  • src/commands/add-dir/add-dir.tsx
  • src/commands/agents/agents.tsx
  • src/commands/ant-trace/index.js
  • src/commands/autofix-pr/index.js
  • src/commands/backfill-sessions/index.js
  • src/commands/benchmark.ts
  • src/commands/break-cache/index.js
  • src/commands/bridge/bridge.tsx
  • src/commands/btw/btw.tsx
  • src/commands/buddy/buddy.tsx
  • src/commands/bughunter/index.js
  • src/commands/cache-probe/cache-probe.ts
  • src/commands/cacheStats/cacheStats.ts
  • src/commands/chrome/chrome.tsx
  • src/commands/commit-message/commit-message.test.ts
  • src/commands/config/config.tsx
  • src/commands/context/context.tsx
  • src/commands/copy/copy.tsx
  • src/commands/ctx_viz/index.js
  • src/commands/debug-tool-call/index.js
  • src/commands/desktop/desktop.tsx
  • src/commands/diff/diff.tsx
  • src/commands/doctor/doctor.tsx
  • src/commands/effort/effort.tsx
  • src/commands/env/index.js
  • src/commands/exit/exit.tsx
  • src/commands/export/export.test.ts
  • src/commands/export/export.tsx
  • src/commands/extra-usage/extra-usage.tsx
  • src/commands/fast/fast.tsx
  • src/commands/feedback/feedback.tsx
  • src/commands/goal/goal.test.ts
  • src/commands/good-claude/index.js
  • src/commands/help/help.tsx
  • src/commands/hooks/hooks.tsx
  • src/commands/ide/ide.tsx
  • src/commands/insights.ts
  • src/commands/install-github-app/ApiKeyStep.tsx
  • src/commands/install-github-app/CheckExistingSecretStep.tsx
  • src/commands/install-github-app/CheckGitHubStep.tsx
  • src/commands/install-github-app/ChooseRepoStep.tsx
  • src/commands/install-github-app/CreatingStep.tsx
  • src/commands/install-github-app/ErrorStep.tsx
  • src/commands/install-github-app/ExistingWorkflowStep.tsx
  • src/commands/install-github-app/InstallAppStep.tsx
  • src/commands/install-github-app/OAuthFlowStep.tsx
  • src/commands/install-github-app/SuccessStep.tsx
  • src/commands/install-github-app/WarningsStep.tsx
  • src/commands/install-github-app/install-github-app.tsx
  • src/commands/install-github-app/repoSlug.test.ts
  • src/commands/install-github-app/setupGitHubActions.test.ts
  • src/commands/install.tsx
  • src/commands/issue/index.js
  • src/commands/knowledge/knowledge.test.ts
  • src/commands/knowledge/knowledge.ts
  • src/commands/logout/logout.tsx
  • src/commands/lsp/lsp.test.ts
  • src/commands/lsp/lsp.ts
  • src/commands/mcp/doctorCommand.ts
  • src/commands/mcp/mcp.tsx
  • src/commands/memory/memory.tsx
  • src/commands/mobile/mobile.tsx
  • src/commands/mock-limits/index.js
  • src/commands/model/model.test.tsx
  • src/commands/model/model.tsx
  • src/commands/oauth-refresh/index.js
  • src/commands/onboard-github/onboard-github.test.ts
  • src/commands/onboard-github/onboard-github.tsx
  • src/commands/onboarding/index.js
  • src/commands/output-style/output-style.tsx
  • src/commands/passes/passes.tsx
  • src/commands/perf-issue/index.js
  • src/commands/permissions/permissions.tsx
  • src/commands/plugin/AddMarketplace.tsx
  • src/commands/plugin/BrowseMarketplace.tsx
  • src/commands/plugin/DiscoverPlugins.tsx
  • src/commands/plugin/ManageMarketplaces.tsx
  • src/commands/plugin/ManagePlugins.tsx
  • src/commands/plugin/PluginErrors.tsx
  • src/commands/plugin/PluginOptionsDialog.tsx
  • src/commands/plugin/PluginOptionsFlow.tsx
  • src/commands/plugin/PluginSettings.tsx
  • src/commands/plugin/PluginTrustWarning.tsx
  • src/commands/plugin/UnifiedInstalledCell.tsx
  • src/commands/plugin/ValidatePlugin.tsx
  • src/commands/plugin/index.tsx
  • src/commands/plugin/plugin.tsx
  • src/commands/plugin/pluginDetailsHelpers.tsx
  • src/commands/plugin/unifiedTypes.ts
  • src/commands/privacy-settings/privacy-settings.tsx
  • src/commands/provider/provider.test.tsx
  • src/commands/provider/provider.tsx
  • src/commands/rate-limit-options/rate-limit-options.tsx
  • src/commands/remote-env/remote-env.tsx
  • src/commands/remote-setup/remote-setup.tsx
  • src/commands/reset-limits/index.js
  • src/commands/resume/resume.tsx
  • src/commands/review/UltrareviewOverageDialog.tsx
  • src/commands/review/ultrareviewCommand.tsx
  • src/commands/sandbox-toggle/sandbox-toggle.tsx
  • src/commands/session/session.tsx
  • src/commands/share/index.js
  • src/commands/skills/skills.tsx
  • src/commands/stats/stats.tsx
  • src/commands/status/status.tsx
  • src/commands/statusline.tsx
  • src/commands/summary/index.js
  • src/commands/tag/tag.tsx
  • src/commands/tasks/tasks.tsx
  • src/commands/teleport/index.js
  • src/commands/terminalSetup/terminalSetup.tsx
  • src/commands/theme/theme.tsx
  • src/commands/thinkback/thinkback.tsx
  • src/commands/ultraplan.tsx
  • src/commands/upgrade/upgrade.tsx
  • src/commands/usage/index.test.ts
  • src/commands/usage/index.ts
  • src/commands/usage/usage.tsx
  • src/commands/wiki/wiki.tsx
  • src/components/AgentProgressLine.tsx
  • src/components/App.tsx
  • src/components/ApproveApiKey.tsx
  • src/components/AutoModeOptInDialog.tsx
  • src/components/AutoUpdater.tsx
  • src/components/AutoUpdaterWrapper.tsx
  • src/components/AwsAuthStatusBox.tsx
  • src/components/BaseTextInput.tsx
  • src/components/BashModeProgress.tsx
  • src/components/BridgeDialog.tsx
  • src/components/BypassPermissionsModeDialog.tsx
  • src/components/ChannelDowngradeDialog.tsx
  • src/components/ClaudeCodeHint/PluginHintMenu.tsx
  • src/components/ClaudeInChromeOnboarding.tsx
  • src/components/ClaudeMdExternalIncludesDialog.tsx
  • src/components/ClickableImageRef.tsx
  • src/components/CompactSummary.tsx
  • src/components/ConfigurableShortcutHint.tsx
  • src/components/ConsoleOAuthFlow.test.tsx
  • src/components/ConsoleOAuthFlow.tsx
  • src/components/ContextSuggestions.tsx
  • src/components/ContextVisualization.tsx
  • src/components/CoordinatorAgentStatus.tsx
  • src/components/CtrlOToExpand.tsx
  • src/components/CustomSelect/SelectMulti.tsx
  • src/components/CustomSelect/select-input-option.tsx
  • src/components/CustomSelect/select-option.tsx
  • src/components/CustomSelect/select.tsx
  • src/components/CustomSelect/use-select-navigation.ts
  • src/components/DesktopHandoff.tsx
  • src/components/DesktopUpsell/DesktopUpsellStartup.tsx
  • src/components/DevBar.tsx
  • src/components/DevChannelsDialog.tsx
  • src/components/DiagnosticsDisplay.tsx
  • src/components/EffortCallout.tsx
  • src/components/EffortPicker.tsx
  • src/components/ExitFlow.tsx
  • src/components/ExportDialog.test.tsx
  • src/components/ExportDialog.tsx
  • src/components/FallbackToolUseErrorMessage.tsx
  • src/components/FallbackToolUseRejectedMessage.tsx
  • src/components/FastIcon.tsx
  • src/components/Feedback.tsx
  • src/components/FeedbackSurvey/FeedbackSurvey.tsx
  • src/components/FeedbackSurvey/FeedbackSurveyView.tsx
  • src/components/FeedbackSurvey/TranscriptSharePrompt.tsx
  • src/components/FeedbackSurvey/useFeedbackSurvey.tsx
  • src/components/FeedbackSurvey/useMemorySurvey.tsx
  • src/components/FeedbackSurvey/usePostCompactSurvey.tsx
  • src/components/FeedbackSurvey/useSurveyState.tsx
  • src/components/FeedbackSurvey/utils.ts
  • src/components/FileEditToolDiff.tsx
  • src/components/FileEditToolUpdatedMessage.tsx
  • src/components/FileEditToolUseRejectedMessage.tsx
  • src/components/FilePathLink.tsx
  • src/components/FullscreenLayout.tsx
  • src/components/GlobalSearchDialog.tsx
  • src/components/HelpV2/Commands.tsx
  • src/components/HelpV2/General.tsx
  • src/components/HelpV2/HelpV2.tsx
  • src/components/HighlightedCode.tsx
  • src/components/HighlightedCode/Fallback.tsx
  • src/components/HistorySearchDialog.tsx
  • src/components/IdeAutoConnectDialog.tsx
  • src/components/IdeOnboardingDialog.tsx
  • src/components/IdeStatusIndicator.tsx
  • src/components/IdleReturnDialog.tsx
  • src/components/InterruptedByUser.tsx
  • src/components/InvalidConfigDialog.tsx
  • src/components/InvalidSettingsDialog.tsx
  • src/components/KeybindingWarnings.tsx
  • src/components/LanguagePicker.tsx
  • src/components/LogSelector.tsx
  • src/components/LogoV2/AnimatedAsterisk.tsx
  • src/components/LogoV2/AnimatedClawd.tsx
  • src/components/LogoV2/ChannelsNotice.tsx
  • src/components/LogoV2/Clawd.tsx
  • src/components/LogoV2/CondensedLogo.tsx
  • src/components/LogoV2/EmergencyTip.tsx
  • src/components/LogoV2/Feed.tsx
  • src/components/LogoV2/FeedColumn.tsx
  • src/components/LogoV2/GuestPassesUpsell.tsx
  • src/components/LogoV2/LogoV2.tsx
  • src/components/LogoV2/Opus1mMergeNotice.tsx
  • src/components/LogoV2/OverageCreditUpsell.tsx
  • src/components/LogoV2/VoiceModeNotice.tsx
  • src/components/LogoV2/WelcomeV2.tsx
  • src/components/LogoV2/feedConfigs.tsx
  • src/components/LspRecommendation/LspRecommendationMenu.tsx
  • src/components/MCPServerApprovalDialog.tsx
  • src/components/MCPServerDesktopImportDialog.tsx
  • src/components/MCPServerDialogCopy.tsx
  • src/components/MCPServerMultiselectDialog.tsx
  • src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx
  • src/components/Markdown.tsx
  • src/components/MarkdownTable.tsx
  • src/components/MemoryUsageIndicator.tsx
  • src/components/Message.tsx
  • src/components/MessageModel.tsx
  • src/components/MessageResponse.tsx
  • src/components/MessageRow.tsx
  • src/components/MessageSelector.tsx
  • src/components/MessageTimestamp.tsx
  • src/components/Messages.tsx
  • src/components/ModelPicker.tsx
  • src/components/NativeAutoUpdater.tsx
  • src/components/NotebookEditToolUseRejectedMessage.tsx
  • src/components/OffscreenFreeze.tsx
  • src/components/Onboarding.tsx
  • src/components/OutputStylePicker.tsx
  • src/components/PackageManagerAutoUpdater.tsx
  • src/components/Passes/Passes.tsx
  • src/components/PrBadge.tsx
  • src/components/PressEnterToContinue.tsx
  • src/components/PromptInput/HistorySearchInput.tsx
  • src/components/PromptInput/IssueFlagBanner.tsx
  • src/components/PromptInput/Notifications.tsx
  • src/components/PromptInput/PromptInput.tsx
  • src/components/PromptInput/PromptInputFooter.tsx
  • src/components/PromptInput/PromptInputFooterLeftSide.tsx
  • src/components/PromptInput/PromptInputFooterSuggestions.tsx
  • src/components/PromptInput/PromptInputHelpMenu.tsx
  • src/components/PromptInput/PromptInputModeIndicator.tsx
  • src/components/PromptInput/PromptInputQueuedCommands.test.tsx
  • src/components/PromptInput/PromptInputQueuedCommands.tsx
  • src/components/PromptInput/PromptInputStashNotice.tsx
  • src/components/PromptInput/SandboxPromptFooterHint.tsx
  • src/components/PromptInput/ShimmeredInput.tsx
  • src/components/PromptInput/VoiceIndicator.tsx
  • src/components/PromptInput/inputModes.test.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@jatmn jatmn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please rebase, the entire code base was submitted as changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants