Skip to main content
RapidDev - Software Development Agency
bolt-ai-integrationsDevelopment Workflow

How to Integrate Bolt.new with IntelliJ IDEA

To use IntelliJ IDEA with Bolt.new, export your project as a ZIP or push it to GitHub from Bolt, then open it in IntelliJ IDEA for Java or Kotlin backend development. Bolt handles the AI-driven frontend and scaffolding; IntelliJ takes over for enterprise backend work, Spring Boot APIs, and complex refactoring that exceeds Bolt's WebContainer capabilities.

What you'll learn

  • How to export a Bolt.new project and import it into IntelliJ IDEA
  • How to set up a shared GitHub repository as the bridge between Bolt and IntelliJ
  • How to configure IntelliJ's AI Assistant alongside your Bolt-generated code
  • When to use Bolt versus IntelliJ for different parts of your project
  • How to run and test your Bolt frontend code from within IntelliJ
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner16 min read15 minutesDevOpsApril 2026RapidDev Engineering Team
TL;DR

To use IntelliJ IDEA with Bolt.new, export your project as a ZIP or push it to GitHub from Bolt, then open it in IntelliJ IDEA for Java or Kotlin backend development. Bolt handles the AI-driven frontend and scaffolding; IntelliJ takes over for enterprise backend work, Spring Boot APIs, and complex refactoring that exceeds Bolt's WebContainer capabilities.

Bolt.new + IntelliJ IDEA: AI Scaffolding Meets Enterprise Development

Bolt.new and IntelliJ IDEA occupy complementary positions in a modern development workflow. Bolt excels at rapid prototyping — it can generate a complete React frontend, wire up authentication, and scaffold API routes in minutes through natural language prompts. But Bolt's WebContainer runs entirely in the browser, which means it cannot run Java or Kotlin runtimes, cannot use Spring Boot's annotation processors, and has no persistent file system for build artifacts. When your project needs a Java or Kotlin backend, complex data models, or JVM-based tooling, IntelliJ IDEA becomes the natural continuation environment.

The handoff between these two tools happens through standard version control. Bolt's GitHub integration pushes your generated code to a repository; IntelliJ clones or pulls that repository and opens it as a standard project. From IntelliJ, you can run the Node.js frontend in a terminal alongside a Spring Boot backend, debug both simultaneously, and use IntelliJ's AI Assistant (powered by JetBrains AI or a local LLM via Ollama) to continue refining code that Bolt originally generated. The two AIs complement each other: Bolt's Claude-powered agent is better at full-stack generation and UI work, while IntelliJ's AI Assistant excels at Java/Kotlin refactoring and code navigation within a large existing codebase.

This workflow is particularly valuable for teams building hybrid applications: a React or Next.js frontend generated in Bolt, paired with a Java Spring Boot or Kotlin Ktor backend in IntelliJ. Bolt handles the rapid UI iteration loop; IntelliJ handles the enterprise backend development cycle. GitHub acts as the synchronization layer, and both tools can contribute to the same codebase without conflict.

Integration method

Development Workflow

IntelliJ IDEA integrates with Bolt.new through an export-then-import workflow rather than a live connection. You build and scaffold your application in Bolt's AI-assisted WebContainer environment, then export the project to IntelliJ for Java/Kotlin backend development, complex refactoring, or enterprise tooling that requires a full desktop IDE. Changes made in IntelliJ can be pushed back to a shared GitHub repository that Bolt also tracks.

Prerequisites

  • A Bolt.new account (free or paid) with an existing project to export
  • IntelliJ IDEA installed (Community Edition is free; Ultimate required for Spring Boot tools)
  • A GitHub account for version-controlled project transfer
  • Node.js 18+ installed locally for running the frontend outside of Bolt
  • Java 17+ or Kotlin SDK installed if you plan to develop a JVM backend

Step-by-step guide

1

Connect Your Bolt Project to GitHub

Before you can open your Bolt project in IntelliJ IDEA, you need to push it to a GitHub repository. Bolt.new has a built-in GitHub integration that makes this a one-time setup. Open your Bolt project and look for the Git icon in the left sidebar — it looks like a branching diagram. Click it to open the Git panel. If you have not connected GitHub yet, click 'Connect GitHub' and authorize Bolt.new to access your GitHub account through the OAuth flow. Once connected, click 'Create repository' and give it a meaningful name. Bolt will push all your project files to a new repository on your GitHub account. After the initial push, every significant change you make in Bolt can be committed and pushed from this same Git panel. You can type a commit message and click 'Commit & Push' to update the GitHub repository. IntelliJ will pull these changes in turn. This bidirectional sync means you can switch between Bolt for AI-assisted UI work and IntelliJ for backend development without manually copying files. Important: keep the repository name and structure stable — renaming or moving the repository after connecting it can break Bolt's sync. If you prefer not to use GitHub, you can also download the project as a ZIP file. Look for the download or export option in Bolt's Settings menu. The ZIP contains a complete project with package.json, all source files, and configuration. This approach is simpler for one-time exports but does not give you the bidirectional sync that GitHub provides.

Pro tip: Create a .boltignore file in your project root listing node_modules/, dist/, and build/ to reduce token usage by up to 70% when working in Bolt. These directories are regenerated on install and should not be committed.

Expected result: Your Bolt project appears as a repository on github.com, with all source files committed and visible.

2

Clone the Repository in IntelliJ IDEA

Open IntelliJ IDEA on your local machine. On the Welcome screen, click 'Get from VCS' (Version Control System). If you have IntelliJ IDEA already open with a project, go to File → New → Project from Version Control. In the dialog that appears, select 'GitHub' from the left menu and sign in to your GitHub account if prompted — IntelliJ can authenticate via browser OAuth. Once authenticated, you will see a list of your repositories. Find the one you created from Bolt and click 'Clone.' IntelliJ will clone the repository to your local machine and attempt to detect the project type. For a Vite + React project (the most common Bolt output), IntelliJ will recognize the package.json and offer to configure the Node.js module. If you have IntelliJ IDEA Ultimate, it will also offer to set up the built-in web server and run configuration. Accept these suggestions. For IntelliJ IDEA Community Edition, you will need to open a terminal within IntelliJ (View → Tool Windows → Terminal) and run npm install to restore dependencies, then npm run dev to start the development server. At this point you have a full local development environment. The project runs identically to how it ran inside Bolt's WebContainer, but now you have access to IntelliJ's full suite of tools: the powerful find-and-replace across files (Ctrl+Shift+R), structural search, rename refactoring that updates all imports, the built-in Git log and blame view, and the debugger. If you have IntelliJ IDEA Ultimate, you also get the JavaScript/TypeScript debugger with breakpoints directly in your React components.

Pro tip: After cloning, open the Terminal in IntelliJ and run 'npm install' followed by 'npm run dev'. The local dev server will start — you can open it in your browser just like Bolt's preview, but now with no WebContainer limitations.

Expected result: The project opens in IntelliJ IDEA with all files visible in the Project panel, and npm run dev launches the development server on localhost:5173 or similar.

3

Configure IntelliJ for Node.js and TypeScript

Bolt.new generates TypeScript projects using Vite or Next.js, and IntelliJ IDEA needs to know which Node.js runtime to use and how to interpret the TypeScript configuration. Navigate to File → Settings (Windows/Linux) or IntelliJ IDEA → Preferences (macOS). In the settings tree, expand Languages and Frameworks → JavaScript → Node.js. Use the Node Interpreter field to point IntelliJ to your local Node.js installation. If you have multiple Node.js versions, select the one matching your project's .nvmrc or the version specified in package.json's engines field. Next, verify that TypeScript support is configured. IntelliJ IDEA has built-in TypeScript support that reads your tsconfig.json automatically. Open the TypeScript service settings under Languages and Frameworks → TypeScript. Make sure 'Use TypeScript service' is enabled and the TypeScript package points to your project's node_modules/typescript (after running npm install). This ensures IntelliJ's type checking matches exactly what Vite or Next.js uses during build. For environment variables, Bolt projects use a .env file in the project root. In IntelliJ, you can view and edit this file directly in the Project panel. Create a .env.local file for your personal local overrides — this file should be listed in .gitignore so it is not committed to GitHub or visible to Bolt. Vite reads both .env and .env.local automatically. Add any API keys or local development values here. Remember: variables prefixed with VITE_ are exposed to client-side code; anything sensitive should only be accessed through server-side API routes. If you plan to add a Java or Kotlin backend to the project, create a new directory at the project root (e.g., backend/ or server/) and use File → New Module or File → New Project in Existing Directory to set up a Gradle or Maven project there. IntelliJ IDEA Ultimate includes Spring Initializr integration — go to File → New → Module → Spring Initializr to scaffold a new Spring Boot backend alongside your Bolt-generated frontend.

.env.local
1// .env.local (never commit this file)
2// Vite project environment variables for local IntelliJ development
3VITE_API_BASE_URL=http://localhost:8080/api
4VITE_SUPABASE_URL=your_supabase_url_here
5VITE_SUPABASE_ANON_KEY=your_anon_key_here
6
7// tsconfig.json — verify this matches your Bolt project config
8// IntelliJ reads this automatically for type checking

Pro tip: Add .env.local to your .gitignore file to keep personal API keys out of the shared repository. Bolt will not see .env.local, so you can safely store local development credentials there.

Expected result: IntelliJ shows no TypeScript errors in the Project panel, and the Run/Debug configurations for npm scripts are available in the top toolbar.

4

Set Up IntelliJ AI Assistant Alongside Bolt-Generated Code

IntelliJ IDEA offers its own AI coding assistant that can complement the work Bolt's Claude-powered agent started. To enable it, go to Settings → Plugins → Marketplace and search for 'AI Assistant' (the official JetBrains plugin). Install it and restart IntelliJ. After installation, you will see an AI chat icon in the right toolbar. Click it to open the AI Assistant panel. The IntelliJ AI Assistant understands the full codebase context — it can read all files in your project, not just the currently open file. This makes it particularly useful for tasks that benefit from whole-project understanding: 'Add error handling to all API calls in src/api/', 'Refactor this component to use React Query instead of manual fetch', or 'Explain what this Bolt-generated authentication flow does.' Unlike Bolt, IntelliJ's AI works entirely on local code and does not create new files autonomously — it suggests code changes that you review and apply. For Java/Kotlin development in the same project, the AI Assistant excels at generating Spring Boot controllers, Kotlin data classes from TypeScript interfaces, JPA entity definitions, and test cases. You can prompt it with: 'Generate a Spring Boot REST controller for the Product entity matching the TypeScript Product type in src/types/api.ts.' This creates a tight feedback loop between the Bolt-generated frontend types and the IntelliJ-developed backend. Note that IntelliJ AI Assistant requires a JetBrains AI subscription (separate from your Bolt subscription). The free tier provides limited completions monthly; the Pro plan offers unlimited completions. If you prefer a free alternative, the GitHub Copilot plugin for IntelliJ is also available and works well with Bolt-generated TypeScript code. One important workflow consideration: since Bolt uses WebContainers with JavaScript/TypeScript only, any Java or Kotlin code you write in IntelliJ cannot be run or previewed inside Bolt. The WebContainer cannot execute JVM bytecode. Keep your backend code in IntelliJ and your frontend code synchronized with Bolt via GitHub. This division of responsibility keeps each tool working within its strengths.

Pro tip: Use IntelliJ's 'Find Usages' (Alt+F7) to trace how Bolt-generated components connect to each other before making structural changes. This prevents breaking component chains that the AI built.

Expected result: IntelliJ AI Assistant panel opens and can answer questions about the codebase, suggest refactors, and generate backend code that complements the Bolt-generated frontend.

5

Sync Changes Back to Bolt via GitHub

Once you have made improvements in IntelliJ — refactoring components, adding TypeScript types, writing utility functions, or building backend stubs — you will want those changes visible in Bolt for continued AI-assisted frontend work. The GitHub repository is the bridge for this synchronization. In IntelliJ, commit and push your changes using the Git integration: open the Commit panel (Ctrl+K on Windows/Linux, Cmd+K on macOS), review the changed files, write a descriptive commit message, and click 'Commit and Push.' IntelliJ will push the changes to your GitHub repository. Back in Bolt.new, open the Git panel and click 'Pull' to bring in the latest changes from GitHub. Bolt will update its WebContainer file system with your IntelliJ changes. You can then continue prompting Bolt's AI: 'I just added TypeScript interfaces in src/types/api.ts and API client functions in src/api/products.ts — now build the ProductList component that uses these.' Bolt's Claude agent will read the files you added in IntelliJ and build on top of them. This bidirectional workflow has one constraint to be aware of: Bolt's WebContainer has an ephemeral file system, meaning that changes you pull in from GitHub exist only for the duration of the current session. If you close the Bolt tab and return later, Bolt re-syncs from the GitHub repository automatically — so your IntelliJ changes persist as long as they are committed and pushed. Never rely on the WebContainer as a storage layer; always commit changes before closing either tool. For teams, establish a branch strategy: use main for stable code that both Bolt and IntelliJ track, and create feature branches for larger changes in IntelliJ that are not yet ready for Bolt's AI to build on. Bolt currently works best with the default branch, so merge feature work into main before switching back to Bolt-driven development.

.gitignore
1# .gitignore additions for a Bolt + IntelliJ project
2# IntelliJ IDEA files
3.idea/
4*.iml
5*.iws
6*.ipr
7out/
8
9# Node.js / Vite
10node_modules/
11dist/
12build/
13.env.local
14
15# Java / Kotlin backend
16backend/build/
17backend/.gradle/
18backend/target/

Pro tip: Add IntelliJ's .idea/ directory to .gitignore to prevent IDE-specific files from cluttering the repository and showing up as changes when you switch between Bolt and IntelliJ.

Expected result: Changes committed in IntelliJ appear in Bolt's Git panel after pulling, and Bolt's AI can reference and build upon the updated files.

Common use cases

React Frontend + Spring Boot Backend

Build a React frontend entirely in Bolt using AI prompts, then export the project to IntelliJ where you add a Spring Boot backend. The frontend communicates with the backend through REST API calls, and IntelliJ manages the full-stack local development setup with both servers running simultaneously.

Bolt.new Prompt

Create a React frontend for a task management app with a login screen, dashboard showing tasks, and a form to add new tasks. Use Tailwind CSS for styling and add API client functions in src/api/ that call a backend at http://localhost:8080/api. Leave the API functions as stubs for now — I will implement the actual backend in IntelliJ IDEA.

Copy this prompt to try it in Bolt.new

AI-Generated CRUD UI with Kotlin Ktor Backend

Use Bolt to generate a complete CRUD user interface for an entity like products or users, then bring the project into IntelliJ to implement the Kotlin Ktor backend that the frontend expects. IntelliJ's Kotlin support and Ktor plugin make backend development significantly faster than working in any browser-based environment.

Bolt.new Prompt

Generate a product catalog management UI with a data table, search bar, and edit modal. The app should have TypeScript types for Product (id, name, price, category, stock) and HTTP client functions that call GET /api/products, POST /api/products, PUT /api/products/:id, and DELETE /api/products/:id. I will connect this to a Kotlin Ktor backend.

Copy this prompt to try it in Bolt.new

Export and Refactor Existing Bolt Project

When a Bolt project reaches the limits of AI editing — long context windows, complex refactoring across many files, or the need for IntelliJ's automated refactoring tools — export the project to IntelliJ for surgical code improvements. IntelliJ's structural search and replace, code inspections, and rename refactoring work across the entire codebase safely.

Bolt.new Prompt

My project has grown complex. Before I export it to IntelliJ IDEA, help me clean up the codebase: consolidate all API types into src/types/api.ts, ensure all components use named exports, remove any unused imports, and create a README.md that documents the project structure and all environment variables needed.

Copy this prompt to try it in Bolt.new

Troubleshooting

IntelliJ shows 'Cannot resolve symbol' errors for all React and TypeScript imports after cloning

Cause: Node modules have not been installed locally yet. IntelliJ needs the node_modules/ directory to resolve package imports, but this directory is not committed to GitHub (it is in .gitignore).

Solution: Open the Terminal panel in IntelliJ (View → Tool Windows → Terminal) and run 'npm install'. Wait for installation to complete, then go to File → Invalidate Caches and Restart. IntelliJ will re-index the project with all dependencies resolved.

Changes pushed from IntelliJ are not appearing in Bolt after pulling

Cause: Bolt may be connected to a different branch, or the pull operation did not complete. Bolt works with the default branch (usually main); if you pushed to a feature branch in IntelliJ, Bolt will not see those changes.

Solution: In IntelliJ, ensure you are committing to the main branch or merge your feature branch into main before pulling in Bolt. In Bolt's Git panel, check which branch is active and click Pull again. If the issue persists, try closing and reopening the Bolt project tab to force a full re-sync from GitHub.

Java or Kotlin code written in IntelliJ does not run inside Bolt's preview

Cause: This is an expected WebContainer limitation, not an error. Bolt's runtime is JavaScript/TypeScript only. WebContainers cannot execute JVM bytecode — there is no Java or Kotlin runtime available in the browser-based environment.

Solution: Run your Java/Kotlin backend locally in IntelliJ and your React frontend locally via 'npm run dev'. Set the VITE_API_BASE_URL in .env.local to point to your local backend (e.g., http://localhost:8080/api). Do not attempt to run backend code in Bolt — use Bolt for the frontend and IntelliJ for the backend.

typescript
1// .env.local — point the frontend at your local IntelliJ-managed backend
2VITE_API_BASE_URL=http://localhost:8080/api
3
4// src/api/client.ts — use this env var for all API calls
5const BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8080/api';

Best practices

  • Use GitHub as the single source of truth — always commit changes in both Bolt and IntelliJ before switching tools, so neither environment diverges from the main branch.
  • Keep the WebContainer's limitations in mind: use Bolt for React/TypeScript frontend work and reserve IntelliJ for Java/Kotlin backend code, complex refactoring, and large-scale structural changes.
  • Add a .boltignore file to exclude node_modules/, dist/, build/, and completed backend directories from Bolt's AI context window, reducing token consumption by up to 70%.
  • Create a .env.local file in IntelliJ for local-only environment variables and API keys — never commit this file to GitHub, and never add sensitive production credentials to Bolt's .env.
  • Use IntelliJ's rename refactoring (Shift+F6) instead of Bolt's AI when renaming components or TypeScript types that are referenced across many files — IntelliJ updates all usages atomically.
  • Set up run configurations in IntelliJ for both 'npm run dev' (frontend) and your backend server so you can launch the full stack with one click from the Run menu.
  • Establish a clear directory convention: keep frontend code in src/ (Bolt manages this) and backend code in backend/ or server/ (IntelliJ manages this) to avoid AI confusion when switching tools.

Alternatives

Frequently asked questions

Can IntelliJ IDEA connect to Bolt.new directly, like a plugin or extension?

No, there is no direct plugin connection between Bolt.new and IntelliJ IDEA. The integration is workflow-based: you use GitHub as the bridge. Bolt pushes code to GitHub, and IntelliJ clones or pulls from that same repository. This approach works reliably and keeps both tools using standard version control rather than a proprietary sync mechanism.

Can I run Java or Kotlin code inside Bolt's WebContainer?

No. Bolt's WebContainer is a JavaScript/TypeScript-only runtime built on WebAssembly. It cannot execute JVM bytecode — there is no Java or Kotlin runtime available in the browser environment. For JVM-based backend code, use IntelliJ IDEA locally. The frontend can still call your Java/Kotlin backend over HTTP, but the backend itself must run outside of Bolt.

Does IntelliJ IDEA's AI Assistant conflict with Bolt's AI?

They do not conflict — they are completely independent tools. Bolt's Claude agent operates within the WebContainer browser environment and generates code through natural language prompts. IntelliJ's AI Assistant operates on local code files and suggests inline completions and refactors within the IDE. Many developers use both: Bolt for rapid feature generation and IntelliJ's AI for targeted refactoring of specific files.

How do I keep environment variables in sync between Bolt and IntelliJ?

Bolt stores public environment variables in the .env file committed to GitHub. IntelliJ reads this same .env file after cloning. For local-only values that differ from Bolt's environment (like pointing to a local backend instead of a deployed one), create a .env.local file in IntelliJ and add it to .gitignore. Vite reads both files, with .env.local taking precedence over .env.

What is the best IntelliJ IDEA edition to use with Bolt-generated Next.js projects?

IntelliJ IDEA Ultimate includes built-in Next.js support, a JavaScript/TypeScript debugger with React DevTools integration, and the Spring Initializr for backend scaffolding. Community Edition can open and run Next.js projects but lacks some of the built-in tooling. For pure React/Vite projects, Community Edition is sufficient; for Next.js or full-stack with Spring Boot, Ultimate is recommended.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.