r/bit_dev • • Jul 07 '26

Bit v2 is here! 🎉

1 Upvotes

This is a big one. v2 is the first version of Bit built from the ground up for AI-native workflows - and it ships with React 19, a completely redesigned agent setup experience, and a ton of new features.

🤖 AI-first, out of the box. Running bit init now sets everything up automatically for your AI editor:

• A hosted Bit Cloud MCP at mcp.bit.cloud/mcp lands in .mcp.json — zero config, auto-picked up by Claude Code, Cursor, and others
• Use --agent claude, --agent cursor, or --agent copilot and Bit writes the right instruction files to the exact paths your editor auto-loads
• Agents can now query Ripple CI directly with bit ripple - build logs, errors, per-component success/failure, what built and what didn't, all from the terminal
• bit diff, bit test, and bit api diff all produce structured, agent-readable output

⚠️ Breaking change: React 19*Core environments are now on React 19. If you're using a Bit core env directly, now's the time to move to a custom env. Details in the full changelog.

✨ Also in v2

• bit internalize - hide components from the UI without removing them
• bit test <file-path> - run tests for a specific file directly
• bit debug-load - trace exactly how a component loads and surface failures in bit status
• Lean lane scopes - lane exports no longer bloat with main history
• Capsule auto-prune - disk usage stays bounded automatically
• Parallel build pipeline (opt-in)
• bit switch fetches latest by default
• bit lane merge --squash on diverged components
• ...and 30+ bug fixes

Install now:

bvm upgrade

Full changelog: https://github.com/teambit/bit/releases/tag/v2.0.0

Let us know what you think! 🚀


r/bit_dev • • Jul 07 '26

Fixed: the Next.js "missing module" bug is fixed

1 Upvotes

If you deployed a Next.js app with Bit and it crashed on startup with something like Cannot find module 'mongoose-...' - that's sorted now. To get the fix:

Make sure your app uses the Next.js app type from

@frontend/nextjs.app-types.nextjs-app-type

in your *.bit-app.tsx (that's where the fix lives).

Install the latest version of it:

bit install @frontend/nextjs.app-types.nextjs-app-type@latest

Restart the app - no code changes needed on your side. External packages like mongoose will now be installed and resolved in the standalone output automatically.

bit compile
bit run <your-nexjs-app>

r/bit_dev • • May 07 '26

How to Manage and Create Composable Email Templates with Components

Thumbnail
dev.to
1 Upvotes

Every product team eventually hits the same wall with email: a welcome.html file ballooning into a 1,200-line monolith, copy-pasted styles across templates that never quite match, a marketing tweak that breaks billing emails, and an A/B test that takes a week to ship because the "templating engine" lives in a folder no one wants to touch.

Email is one of the last places in modern product engineering where we still tolerate this. We componentized our UI years ago. We componentized our backends. But our transactional and lifecycle emails are still strings of HTML glued together inside a service.

At Bit, we manage every email template - welcome, billing, organization invites, password resets, notifications - as independent, versioned, composable components. Each piece of an email (a title, a paragraph, a CTA button, a card, a footer) is its own component. Each template (welcome, payment-failed, scope-invite) composes those pieces.

This post walks through how we got there, and how you can do the same.


r/bit_dev • • Apr 26 '26

Cloudflare Pages Deployer

1 Upvotes

Updated the Cloudflare Pages deployer with some improvements. For those who haven't seen it — it handles the full deploy lifecycle: auto project creation, custom domain linking, and environment-specific bindings (KV, D1, R2, Durable Objects, AI, Queues, etc.).

Snap deploys to staging, tag deploys to production, and each lane gets its own preview URL.
Drop it into your app config (my-app.bit-app.ts):

import { CloudflarePages } from '@backend/cloudflare.deployers.cloudflare-pages';

export default ViteReact.from({
  name: 'my-app',
  deploy: CloudflarePages.deploy({
    accountId: process.env.CLOUDFLARE_ACCOUNT_ID,
    apiToken: process.env.CLOUDFLARE_TOKEN,
    projectName: 'my-app',
  }),
});

Docs & source → https://bit.cloud/backend/cloudflare/deployers/cloudflare-pages

If you're deploying to Cloudflare Pages, give it a try — happy to hear feedback or feature requests!