Give Junie written project guidelines and an approved plan, let it run only the commands your team trusts, and require a tested, reviewed diff before merge. Engineers who work in that order get changes a reviewer can accept.
When you need this
- Engineers use Junie every day, but what it returns depends on who wrote the prompt.
- Junie starts coding before anyone agreed on the approach, and reviewers reject the result for solving the wrong problem.
- Approval prompts interrupt every task, so engineers switch on Brave mode to make them stop.
- Junie changes reach pull requests without the test runs and review your other changes carry.
Evaluation criteria
Before work: write the guidelines
Does Junie know the project's commands, conventions, and boundaries before it starts?
Look forWrite build, test, and lint commands plus review rules in .junie/AGENTS.md. When present, that file replaces the combined root AGENTS.md, .junie/playbook.md, and .junie/rules/*.md instructions. Junie CLI also reads ~/.junie/AGENTS.md and offers to import other agents' instructions on first opening a project. Retire legacy .junie/guidelines.md once AGENTS.md exists, since Junie still loads it. A Kotlin developer on Reddit spent a couple of hours writing guidelines for Compose Multiplatform and Ktor and found that closing a gap later meant adding one line. An engineer who built a pull-request dashboard for their team had Junie write the README and project guidelines from an architecture outline before the first task.
Before work: approve the plan
Has a person read and approved what Junie intends to change?
Look forUse Plan mode for tasks that touch more than one module. Junie reads code and writes a design before making changes. In the CLI, press Shift+Tab or use /plan. Edit or commit the saved plan under .junie/plans. In AI Chat, approve the plan before Junie implements it. That engineer then built the dashboard one step at a time, from page layout and dummy data to the Azure DevOps and YouTrack calls. They report that almost every step worked on the first try. When Junie grew repetitive, the engineer added a step to consolidate code and configuration.
During work: gate risky actions
Which commands may Junie run without asking, and who decided?
Look forSet an Action Allowlist. Junie asks before most terminal commands, code execution, and MCP tools. Allow similar commands adds a pattern to that list. Brave mode Auto approves commands its safety check rates safe and asks about the rest. Brave mode On approves everything. Reserve On for disposable environments because release builds of Junie CLI have no OS-level command sandbox.
During work: steer the running task and don't restart it
Can the engineer correct Junie mid-task and undo what it changed?
Look forType follow-up prompts while Junie works to redirect the running CLI task. Use AI Chat rollback for one file or all changed files. Give parallel tasks separate Git worktrees because sessions in the same checkout share files. Engineers who keep Junie on target name the files and the change. One finds it fast and to the point that way, and finds it fails when asked to build a whole feature. Another discarded three Junie runs on one refined prompt and wrote the code by hand.
Before merge: review and test
Does a Junie change carry the same evidence a human change would?
Look forRun tests through the IDE, then use /review on staged changes or the branch against main. The review agent reads the diff and project guidelines without editing, building, or committing. The Junie GitHub Action runs the same review on pull requests. Require CI and human approval before merge. Check what Junie changed before accepting it. In Brave mode it applies changes before anyone reviews them, and one engineer found it reliable only on small, defined tasks.
Questions to ask vendors
- Which repositories have a .junie/AGENTS.md today, and who keeps it current?
- Which tasks must start in Plan mode, and who approves the plan?
- Which commands belong on a shared allowlist, and who may turn on Brave mode?
- What evidence must a Junie-authored pull request include before a reviewer opens it?
Red flags
- No AGENTS.md, so each engineer repeats conventions in every prompt.
- Brave mode On as a default on developer machines without a sandbox.
- Plans approved without anyone reading the files they name.
- Junie pull requests merged on a clean /review alone.
Products in this piece
Sources
- Official documentation
- 10
- Public source
- 5
- Junie docs: Guidelines and memory
- Junie docs: Junie IDE plugin
- Junie docs: Plan mode
- JetBrains AI docs: Junie by JetBrains in AI Chat
- Junie docs: Junie CLI quickstart
- Junie docs: Action Allowlist in Junie CLI
- Junie docs: Action Allowlist in the IDE plugin
- Junie docs: Parallel sessions and worktrees
- Junie docs: Code review agent
- Junie docs: Automated code reviews
- TrespassersWilliam on Reddit r/Kotlin: writing .junie/guidelines.md for Compose Multiplatform and Ktor (May 25, 2025)
- cmpalmer52 on Hacker News: a pull-request dashboard for their team, built with Junie step by step (Nov 10, 2025)
- delbronski on Hacker News: Junie works when you name the files and the change (Apr 22, 2026)
- thi2 on Hacker News: three Junie runs discarded (Apr 25, 2025)
- bb88 on Hacker News: Junie in Brave mode applies changes before review (Apr 30, 2025)