Who this guide is for (and what you’ll get)
You just installed Junie, the AI coding agent in JetBrains IDE, and now it’s looking at you like a very smart assistant. If you want real results without wasting credits or patience, and if you want control and speed, this guide is for you.
In this piece, you will learn about a safe setup, a strong first prompt, and a simple loop: plan, review, run, and repeat. You will see how to save plans to a file, accept only the changes you want, and keep costs down.
First run, safely: the right guardrails
Your first decision is the mode. Ask Mode is mostly for reading and explaining, though the agent may still change the files. Junie can explore your project, trace dependencies, and outline a plan, but it cannot touch a single file.
Use it when you are meeting a new codebase or when you want to think out loud without side effects. It keeps your repo safe while you decide what should actually change.
Code Mode is for action. Junie proposes edits, runs commands, and shows diffs for your review. You stay in control: accept what is good, reject what is not, and move on. It works best when you already have a plan, and you want to make steady progress and have checkpoints instead of surprises.
Brave Mode skips all confirmations and just gets on with it. Save that for clean branches, spikes, and greenfield repos.
First productive prompt
Keep the first prompt short, clear, and testable. You need answers you can act on. Always follow up with the agent, but keep in mind that follow-ups use up your credits and become less effective after the seventh or eighth time.
Once a task is given to Junie, it scans the structure and integrations and identifies bottlenecks. Then, it forces the task to rank the improvements by their impact and effort.
Junie drafts a sequenced plan and writes it to PLAN.md in the repo root. Treat that file like code: commit it, review it, argue with it in a pull request if you must. A visible plan lowers risk because everyone can see the steps, not just the final diff.
Create a step-by-step implementation plan for the approved improvements. Group steps into sections (Preparation, Implementation, Tests, Verification, Rollback). For each task, include: goal, files to touch (paths), commands/tests to run, and acceptance checks. Keep tasks atomic (1–3 actions). Save the full plan to PLAN.md at the repo root. If the scope is too broad, focus on /server and /ui first. Do not edit code yet—planning only.
Run this prompt in Code Mode to create a PLAN.md file in the project.
Run with control: executing tasks like a pro
Turn on Code Mode when the plan looks sane and you’re on a clean branch. Point Junie at the first section in PLAN.md and let it work. You’ll see an execution log as it reads files, proposes edits, and runs commands. Think of this as supervised automation: Junie drives, and you ride shotgun with a big, friendly brake pedal.
Refer to the section in the file from the prompt.
When changes appear, open the diffs and act like an editor. Accept files that meet the goals and acceptance checks outlined in the plan, and reject the rest. Run tiny batches for risky changes and larger ones for boring refactors. Junie pauses after chunks and summarizes; if the plan is drifting, rewrite the next steps before continuing. Clean commits, small checkpoints, calm pulse.
Read that summary like a status report: did the work match the plan, or did reality push back? If the plan is drifting, rewrite the next steps in PLAN.md before continuing. It's better to make a small course correction now than to perform a heroic cleanup later.
Models and “Think More”: pick the right combo for the job
There is a small button under Junie’s chat that changes everything. “Think More” tells the model to reason deeper. It usually writes better code and takes fewer detours, but it also spends more credits and time. Use it on hard problems, not on renaming a variable or tweaking a log line. Save the big brain for big choices.
Models behave differently with that toggle. With GPT-5, “Think More” often pays for itself: cleaner plans, fewer retries, stronger tests.
Avoid credit burn: smart task hygiene
Long threads roast your credits. Every follow-up drags the whole conversation back into context. If your next request is not directly building on the current goal, start a fresh task. State the target, point to the exact files, and move on.
Keep prompts short and scoped. Say what to change and how you’ll check it. Use PLAN.md as the anchor when branching into new work and resetting drift with a new task when the thread goes fuzzy. Do not paste half the repo into the chat; let Junie read the codebase.
Precision beats volume every single time. If a run is getting expensive and vague, shrink the scope first, then adjust the model or toggle. Your bill and your sanity will say thank you.
Top comments (1)
Love Jetbrains