Skip to content

refactor(wbfy): remove obsolete migration paths - #1269

Merged
exKAZUu merged 6 commits into
mainfrom
refactor/remove-obsolete-wbfy-migrations
Aug 25, 2026
Merged

refactor(wbfy): remove obsolete migration paths#1269
exKAZUu merged 6 commits into
mainfrom
refactor/remove-obsolete-wbfy-migrations

Conversation

@exKAZUu

@exKAZUu exKAZUu commented Aug 24, 2026

Copy link
Copy Markdown
Member

Customer Summary

  • wbfy no longer rewrites legacy or hand-written configuration: it recognizes only the single canonical format it generates today and treats every other shape as a manual fix in the target repository (warning and skipping the file, or aborting the run when the deviation is unsafe).
  • Repositories already on the current wbfy output, and freshly initialized repositories (wbfy's template-generation use case), produce exactly the same files as before; the fresh-repository output was diffed against main and is identical.
  • Deviations that wbfy stops healing are now written down in docs/expected-repository-rules.md so operators know what to fix by hand.

Technical Summary

  • Removed migration fixers and generators: cloudflareEnv, testDirectory, typeDefinition, geminiSettings, lintstagedrc, husky cleanup in lefthook, .gemini/config.yml merging, Renovate config consolidation/deletion, obsolete preset pruning, badge legacy-form matching, --bun script stripping, prettier/lint-staged/husky dependency removal, legacy workflow secret/parameter rewrites, legacy label deletion, and tsconfig node10 cleanup on the standard path.
  • Canonical-only recognition: script wrappers, wb db/wb prisma scripts, and wb gen-code segments are matched only in their generated bun … spelling; getWorkerTypesScriptError rejects non-canonical wb gen-code spellings and, when a gen-code pipeline exists, a postinstall running a package script through anything other than bun run <script> (which would otherwise get a second generation appended).
  • Safety checks replacing removed fixers: a tracked .env.cloudflare at any depth (queried once from the repository root with -c core.quotePath=false) fails the run with a rotation instruction; a non-array or obsolete-preset Renovate extends and a non-canonical .gemini/config.yml skip generation with a warning.
  • generateMiseToml requires an exact Bun pin ≥ 1.4 and skips the file otherwise; a repository without a Bun pin (a fresh template) is pinned to the Bun version running wbfy, which the startup guard already validated.
  • .prettierignore is generated only for Java repositories and never deleted automatically.

Why

  • Every legacy path was a permanent maintenance and review burden for repositories that no longer exist in that shape; CLAUDE.md mandates one canonical format per file and manual fixes for deviations.
  • Removing the automatic healing must not turn silent: unsafe leftovers (tracked Cloudflare credentials, double generation, dead Renovate presets) now fail fast or warn instead of being partially accommodated.

Testing

  • bun run verify
  • bun test test/unit in packages/wbfy (327 pass)
  • Ran wbfy on a fresh repository (package.json + src/index.ts) with this branch and with main; the generated trees are identical except the wbfy version badge. Also ran it with an unresolvable mise on PATH to confirm mise.toml is still generated with the running Bun version.
  • Ran wbfy on scratch repositories with a nested and a non-ASCII-path .env.cloudflare, postinstall variants (bun gen-code, bunx run gen-code, bun --bun run gen-code, bun run gen-code, and bun setup without a gen-code pipeline), a scalar Renovate extends, and an obsolete willbooster-configs preset to confirm each rejection, warning, or pass-through.

Co-authored-by: WillBooster (Codex CLI) <agent@willbooster.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly streamlines the wbfy codebase by removing obsolete migration paths and legacy configuration logic. By enforcing a canonical repository structure, the changes reduce the maintenance burden of supporting multiple legacy file formats and migration scenarios. Future deviations from these standards are now intended to be handled manually by repository owners rather than automatically by wbfy.

Highlights

  • Cleanup of Obsolete Logic: Removed multiple legacy fixers and generators, including those for Cloudflare environments, test directory migration, type definitions, and lint-staged configurations.
  • Canonical Format Enforcement: Limited wbfy-managed recognition to the single canonical format, treating non-canonical repository files as manual fixes instead of compatibility inputs.
  • Refactoring Generators: Simplified core generators such as renovate.jsonc, tsconfig, and workflow logic to reduce complexity and remove outdated migration paths.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


Old paths fade away, Code cleaned of the ghosts of past, Standard rules remain.

Footnotes

  1. Review the Generative AI Prohibited Use Policy, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request significantly simplifies the wbfy utility by removing extensive legacy migration, fallback, and compatibility logic across multiple configuration generators (such as Gemini, Lefthook, Renovate, and package.json), strictly aligning with the rule to support only a single canonical format. Feedback on the changes highlights a potential runtime error in the simplified Renovate configuration generator, where the extends property might be parsed as a string instead of an array, causing a crash when array methods are called.

Comment thread packages/wbfy/src/generators/renovateJsonc.ts
exKAZUu and others added 5 commits August 24, 2026 20:35
Co-authored-by: WillBooster (Codex CLI) <agent@willbooster.com>
Co-authored-by: WillBooster (Codex CLI) <agent@willbooster.com>
Co-authored-by: WillBooster (Claude Code) <agent@willbooster.com>
…tinstall runners

Co-authored-by: WillBooster (Claude Code) <agent@willbooster.com>
…l runner check

Co-authored-by: WillBooster (Claude Code) <agent@willbooster.com>
@exKAZUu exKAZUu self-assigned this Aug 25, 2026
@exKAZUu
exKAZUu merged commit aef3424 into main Aug 25, 2026
5 checks passed
@exKAZUu
exKAZUu deleted the refactor/remove-obsolete-wbfy-migrations branch August 25, 2026 03:50
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.

1 participant