Have you ever wished your IDE could do more than highlight errors and autocomplete code? That it could understand your project and actually help you write better, cleaner code faster? That's exactly where JetBrains Junie comes in. Junie is a smart, project-aware AI assistant built into JetBrains IDEs. Think of it as a helpful colleague who already knows your codebase. From generating code and documentation to helping you debug issues, Junie makes your development flow smoother and smarter. Let's explore how to install Junie, activate it in your JetBrains IDE, and set it up with your project using Junie Onboarding.
What is Junie
Junie is part of the JetBrains AI Assistant suite. While the basic AI Assistant can already generate text or code snippets, Junie takes it up a notch by using project context. That means it's not just smart—it's aware of what you’re working on.
With Junie, you can:
Install the Junie plugin in seconds and start using it right from your JetBrains IDE;
Onboard Junie to your project automatically or manually with a simple
.junie/guidelines.mdfile;Personalize Junie’s behavior by adding hints or best practices relevant to your codebase;
Stay in control of Junie’s actions—every major task is reviewed by you before it’s applied;
Work safely with built-in restrictions for sensitive or risky commands;
Junie currently supports JetBrains IDEs like IntelliJ IDEA, PyCharm, WebStorm, and others.
At first glance, Junie and JetBrains AI Assistant look similar, but they serve different types of tasks. AI Assistant is a quick helper for everyday tasks, such as writing code snippets, generating tests, and explaining errors. It is fast and provides immediate answers, suitable for simpler tasks. On the other hand, Junie acts more independently and can handle more complex tasks, such as end-to-end feature development, starting a new project from scratch, prototyping, and writing tests for entire features. It works through tasks step-by-step, refining results on the go, which makes it suitable for larger projects. By using them together, you can significantly improve your results.
Installation
Installing Junie is straightforward, and you only need a few clicks:
Open your JetBrains IDE (like IntelliJ IDEA).
Go to Settings / Preferences → Plugins.
Search for Junie and click Install.
Restart the IDE when prompted.
Once the plugin is active, Junie becomes available through the IDE.
Make sure you’re logged in with your JetBrains account that has access to the AI Assistant features or you have All Products Pack.
Working with projects
If you don't have any active projects in your JetBrains IDE, you can easily create a template-based project to test Junie features. If you already have one, you can skip this section.
To create a new template project, open the IDE (WebStorm in this example), and click the "New Project" button in the "Projects" section. Then choose and set up any of them.
Then click "Create," and the new project will open. In the next section, we'll dive into working with Junie.
Activating Junie with Onboarding
To unlock Junie's full potential, you need to onboard your current project. This step helps Junie understand your codebase more deeply and provide relevant suggestions.
Here's how to do it:
Open your project in the IDE.
Go to the Junie Plugin in the right tools panel.
For example, you can use the following prompt to onboard Junie in the project:
Analyze the project structure and tech stack, and create a `.junie/guidelines.md` file with concise, well-structured information to help new developers. Include guidance on organizing the structure, running tests, executing scripts, and following best practices. Keep the content short, clear, and practical.The onboarding process will index your project and collect key metadata.
This step typically takes a few minutes. After completion, Junie will have context about your files, classes, dependencies, and more.
If your project is large, onboarding may take longer. You can continue working while it runs in the background.
Brave mode
Brave Mode is an advanced setting that lets Junie run terminal commands and interact with your file system without asking for approval. By default, this mode is turned off to keep your system safe—Junie will always request confirmation before performing potentially risky actions like installing packages or modifying files.
When Brave Mode is enabled, Junie executes commands immediately, making it ideal for power users who want fast, uninterrupted automation. However, this also means there’s no safety net—Junie won’t pause to confirm actions, even destructive ones like file deletion.
Use Brave Mode when you need speed and trust your setup. For everyday use or when working with important data, it’s safer to keep it off.
Using Junie in your day-to-day
To use Junie effectively for your daily tasks, it's important to onboard it to your project first. Watch this onboarding video here – https://www.youtube.com/watch?v=XAecdU-x328, which explains how onboarding helps.
After onboarding, you can use Junie or another LLM to break down product requirements into clear steps or components. Save this requirements document in the .junie/ directory, which allows Junie to understand and use this context in your project.
Once Junie clearly understands your project and its objectives, you can begin asking questions or requesting it to write code.
Here are a few ways to start using it right away:
Ask questions in the Junie window;
Request specific actions;
Chat in natural language—you can chat with Junie about your project, ask questions, and seek advice as you would with a companion.
Conclusion
To recap, Junie is JetBrains' intelligent, project-aware AI assistant. To start using it, you need to: Install the JetBrains Junie plugin, onboard your project so it understands your code, and use the Junie tool window to ask for help. Junie works best when it knows your codebase, so onboarding is essential. Once you set it up, you'll have a powerful new tool in your development toolkit. Give Junie a try the next time you're stuck or just want a second opinion. It's smart, fast, and already knows your code.