🐰 New: Triage — a self-updating cross-repository queue that prioritizes pull requests by value and risk, so you always know what to review next. Explore Triage →
Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!
Issue Planner is one way to use CodeRabbit Plan. You can also create plans directly using free-form descriptions, PRDs, or design specs. See the full CodeRabbit Plan documentation for an overview of all options.
CodeRabbit analyzes your issues, specifications, and project codebase to generate Coding Plans you can hand off to any coding agent or IDE copilot. Because CodeRabbit deeply understands your codebase through continuous analysis, each plan is tailored to your architecture and conventions, covering codebase research, step-by-step tasks, and agent-ready prompts.
The recommended way to use issue planning is to enable auto-planning on your platform so that Coding Plans are generated automatically whenever issues match the conditions you configure. Refer to the platform-specific guides above to set up auto-planning.To generate a plan on demand, comment @coderabbitai plan on any issue.
How you view and refine Coding Plans depends on your platform:
GitHub & GitLab
The full Coding Plan is posted as a comment directly on the issue. Reply to
the plan comment to refine details, challenge design choices, or request
changes.
Coding Plan posted as a comment on a GitHub issue
Azure DevOps, Jira & Linear
The Coding Plan is available in the CodeRabbit web app. Use the chat
panel on the right to iterate on the plan before handing off the finalized prompts to
your coding agent.
2-3 sentence overview of the implementation approach
Research
Deep codebase analysis leveraging CodeRabbit’s project knowledge, identifying relevant files, patterns, dependencies, and architectural decisions specific to the project
Design Choices
Decisions made during planning with rationale for each
Phases
Logical chunks of work that should be done together
Tasks
Individual tasks within each phase
Agent Prompt
Machine-readable instructions for coding agents (per phase and combined)
Chat with CodeRabbit to ask questions, request changes to specific tasks or phases, challenge design choices, or get clarification on implementation details. CodeRabbit responds and updates the plan accordingly. See the platform-specific guides for details on how chatting works on your platform.
Once you’re satisfied with a Coding Plan, copy the agentic prompts and paste them into your preferred coding agent (Claude Code, Cursor, GitHub Copilot, etc.). You can also ask an agent with direct platform access (for example, GitHub or GitLab MCP) to fetch the issue and execute CodeRabbit’s plan. See the platform-specific guides for handoff options.Organizations with access can open an eligible plan as a coding task, approve it, and have Coding Agent implement it. See Start from an approved plan.
How is CodeRabbit different from using ChatGPT or coding agents for planning?
Any AI agent or LLM can write an implementation plan. The difference is in the quality and context behind that plan:
Deeper codebase understanding - When an AI agent generates a plan, it typically reviews only a handful of files. CodeRabbit’s Coding Plans are grounded in deep codebase understanding through continuous code analysis and an extensive knowledge base. This means plans reference the right files, follow your established patterns, and integrate seamlessly with your existing code.
Access to issues and better context - CodeRabbit works with issue trackers, surfacing relevant related issues, even when the assigned engineer isn’t aware of them. This broader context ensures plans account for ongoing work, previous decisions, and the full scope of your project’s direction.
Collaborative review - CodeRabbit plans are available for review by other engineers and product owners. Team members can discuss, challenge design choices, and refine plans together before implementation begins.
Accountability and history - Every plan version is preserved. You can track what was planned, when it was planned, and why decisions were made. This audit trail provides accountability and helps teams understand the evolution of features over time.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CodeRabbit","description":"Guides for Agentic Change Management: review, prioritize, understand, and secure changes across pull requests, your IDE, CLI, and team chat.","colors":{"primary":"#FF570A","light":"#FF570A","dark":"#FF570A"},"logo":{"light":"https://mintcdn.com/coderabbit/qAZa_d7FrwPO_w-O/coderabbit-logo-light.svg?fit=max\u0026auto=format\u0026n=qAZa_d7FrwPO_w-O\u0026q=85\u0026s=d2bf9e91be0e760ec9cb468676fa6ab6","dark":"https://mintcdn.com/coderabbit/qAZa_d7FrwPO_w-O/coderabbit-logo-dark.svg?fit=max\u0026auto=format\u0026n=qAZa_d7FrwPO_w-O\u0026q=85\u0026s=feeb1667ed4a2768a15b271f130395c0","href":"/"},"favicon":{"light":"https://mintcdn.com/coderabbit/qAZa_d7FrwPO_w-O/favicon-light.svg?fit=max\u0026auto=format\u0026n=qAZa_d7FrwPO_w-O\u0026q=85\u0026s=c0b0fbea23b48949cc631606f2a30022","dark":"https://mintcdn.com/coderabbit/qAZa_d7FrwPO_w-O/favicon-dark.svg?fit=max\u0026auto=format\u0026n=qAZa_d7FrwPO_w-O\u0026q=85\u0026s=4db7fc04860b6907c7f236f05b37f5c6"},"api":{"openapi":"openapi.json","playground":{"display":"simple"}},"navbar":{"primary":{"type":"button","label":"Sign up","href":"https://app.coderabbit.ai/login?free-trial="}},"footer":{"socials":{"x":"https://x.com/coderabbitai","linkedin":"https://www.linkedin.com/company/coderabbitai","github":"https://github.com/coderabbitai","discord":"https://discord.gg/GsXnASn26c"},"links":[{"header":"Resources","items":[{"label":"Blog","href":"https://coderabbit.ai/blog"},{"label":"Pricing","href":"https://www.coderabbit.ai/pricing"},{"label":"Changelog","href":"https://docs.coderabbit.ai/changelog"},{"label":"Support knowledge base","href":"https://kb.coderabbit.ai"}]},{"header":"Quick links","items":[{"label":"Schedule a demo","href":"https://www.coderabbit.ai/contact-us/sales"},{"label":"Get support","href":"https://docs.coderabbit.ai/support"},{"label":"Status page","href":"https://status.coderabbit.ai"},{"label":"Terms of service","href":"https://www.coderabbit.ai/terms-of-service"},{"label":"Privacy Policy","href":"https://coderabbit.ai/privacy-policy"}]}]},"seo":{"metatags":{"description":"Guides for Agentic Change Management: review, prioritize, understand, and secure changes across pull requests, your IDE, CLI, and team chat.","og:type":"website","og:site_name":"CodeRabbit Documentation","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@coderabbitai","canonical":"https://docs.coderabbit.ai"}},"fonts":{"heading":{"family":"Geist"},"body":{"family":"Geist"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"gtm":{"tagId":"GTM-5BWLXJRC"},"posthog":{"apiKey":"phc_6fDZRN9hYzB83I7Fk2GNHYqas4WMIdGBQ58aZ6EOZR0"}},"banner":{"content":"🐰 New: **Triage** — a self-updating cross-repository queue that prioritizes pull requests by value and risk, so you always know what to review next. [Explore Triage →](/triage)","dismissible":true,"type":"info","color":{"light":"#171717","dark":"#171717"}},"errors":{"404":{"redirect":false,"title":"Page Not Found. Sorry!","description":"Try **Search** or **Ask AI** to find what you're looking for.\nPress \u003ckbd>⌘K\u003c/kbd> (Mac) or \u003ckbd>Ctrl+K\u003c/kbd> (Windows/Linux) to open the search.\n\n\nNeed help? [Get support](/support)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Quickstart","icon":"rocket","hidden":false,"href":"/getting-started/quickstart"},{"anchor":"Blog","icon":"pen-line","hidden":true,"href":"https://coderabbit.ai/blog"},{"anchor":"Changelog","icon":"history","href":"/changelog"},{"anchor":"Support","icon":"life-buoy","href":"/support"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/coderabbit"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"coderabbit","hasAudioNarration":false,"actualSubdomain":"coderabbit","customDomains":["docs.coderabbit.ai"],"gitSource":{"type":"github","owner":"coderabbitai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0d6760a4e18d2a6bb9cda","collectionId":"d4300936-1085-454f-879b-9eefea57dab6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0d6760a4e18d2a6bb9cda"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae105322553055d172c6e98","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"CodeRabbit Platform","count":157},{"language":"default","tag":"Management","count":76},{"language":"default","tag":"Tools","count":62},{"language":"default","tag":"Per-tool guides","count":59},{"language":"default","tag":"Languages","count":39},{"language":"default","tag":"CodeRabbit API","count":23},{"language":"default","tag":"API Reference","count":21},{"language":"default","tag":"CLI and IDE tools","count":21},{"language":"default","tag":"Agent for Slack and Discord","count":20},{"language":"default","tag":"Command-Line Review Tool","count":15}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"issues/planner","slug":"/issues/planner","pageMetadata":{"title":"Issue Planner","description":"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!","href":"/issues/planner/index"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const Hint=({type,children,headline,tip,href,cta})=>{const{Tooltip}=_provideComponents()||{};if(!Tooltip)_missingMdxReference(`Tooltip`,true);const TIPS={learnings:{headline:`Learnings`,tip:`Review preferences CodeRabbit learns from your chat conversations and applies automatically to future reviews.`,cta:`Learn about Learnings`,href:`/knowledge-base/learnings`,content:`Learnings`},walkthrough:{headline:`PR Walkthrough`,tip:`A structured comment posted by CodeRabbit at the top of every pull request, summarizing changes, sequence diagrams, review effort, and more.`,cta:`Learn about PR Walkthroughs`,href:`/pr-reviews/walkthroughs`,content:`Walkthrough`},\"finishing-touches\":{headline:`Finishing Touches`,tip:`Post-review agentic actions (Fix comments, writing docstrings or unit tests, and more) you trigger from a PR comment or a checkbox in the Walkthrough.`,cta:`See all Finishing Touches`,href:`/finishing-touches`,content:`Finishing Touches`},\"coding-plan\":{headline:`Coding Plan`,tip:`A detailed, codebase-aware implementation plan CodeRabbit generates from an issue or description, ready to hand off to any coding agent.`,cta:`Learn about Coding Plans`,href:`/plan`,content:`Coding Plan`},\"knowledge-base\":{headline:`Knowledge Base`,tip:`The collected context sources CodeRabbit draws on during reviews: Learnings, Code Guidelines, issue trackers, connected MCP servers, and cross-repo analysis.`,cta:`Explore the Knowledge Base`,href:`/knowledge-base`,content:`Knowledge Base`},\"path-instructions\":{headline:`Path Instructions`,tip:`Custom review rules that only apply to files matching a glob pattern, e.g. 'src/controllers/**'.`,cta:`Configure path instructions`,href:`/configuration/path-instructions`,content:`Path Instructions`},\"change-stack\":{headline:`Change Stack`,tip:`An improved code inspection interface that reorganizes a pull request from a flat file list into a structured, layer-by-layer walkthrough with range-specific summaries and diagrams when useful.`,cta:`Learn about Change Stack`,href:`/change-stack`,content:`Change Stack`},scope:{headline:`Scope`,tip:`A named set of repositories, connections, and spend limits that controls what CodeRabbit Agent can access in a given Slack conversation.`,cta:`Learn about Scopes`,href:`/slack-agent/scopes`,content:`Scope`},\"coderabbit-agent\":{headline:`CodeRabbit Agent for Slack`,tip:`An AI agent built into Slack that investigates issues, generates implementation plans, and opens pull requests right from the Slack threads.`,cta:`Explore CodeRabbit Agent`,href:`/slack-agent`,content:`CodeRabbit Agent`},\"configuration-inheritance\":{headline:`Configuration Inheritance`,tip:`A setting that merges configuration values across multiple levels — repository YAML, central YAML, and UI settings — instead of using only the highest-priority source.`,cta:`Learn about Configuration Inheritance`,href:`/configuration/configuration-inheritance`,content:`Configuration Inheritance`},\"coding-agent\":{headline:`Coding Agent`,tip:`Turns a user request, a review finding, a coding plan or a failing CI check into a task that CodeRabbit's agent implements in the cloud, then delivers as a commit or a stacked pull request for you to approve.`,cta:`Learn about Coding Agent`,href:`/code`,content:`Coding Agent`},triage:{headline:`Triage`,tip:`A single cross-repository queue of open pull requests, ranked by what each one needs next and what acting on it is worth.`,cta:`Learn about Triage`,href:`/triage`,content:`Triage`}};const defaults=TIPS[type]||{};return _jsx(Tooltip,{headline:headline??defaults.headline,tip:tip??defaults.tip,cta:cta??defaults.cta,href:href??defaults.href,children:children??defaults.content})};const TeamPlanBadge=({tip=`This feature is available on Team (formerly Pro+), Advanced, and Enterprise. Please refer to our pricing page for more information about our plans and features.`,title=`Team Plan`,cta=`Read more`,href=`https://coderabbit.ai/pricing`,disabled=false})=>{const{Badge,Tooltip}=_provideComponents()||{};if(!Badge)_missingMdxReference(`Badge`,true);if(!Tooltip)_missingMdxReference(`Tooltip`,true);return _jsx(Tooltip,{tip,cta,href,children:_jsx(Badge,{icon:`shield-plus`,disabled:disabled||undefined,children:title})})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Info,OptimizedImage,Table,_MdxComponentBoundary}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`TeamPlanBadge`,children:_jsx(TeamPlanBadge,{})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Issue Planner is one way to use `,_jsx(_components.strong,{children:`CodeRabbit Plan`}),`. You can also create plans directly using free-form descriptions, PRDs, or design specs. See the full `,_jsx(_components.a,{href:`/plan`,children:`CodeRabbit Plan documentation`}),` for an overview of all options.`]})}),`\n`,_jsxs(_components.p,{children:[`CodeRabbit analyzes your issues, specifications, and project codebase to generate Coding Plans you can hand off to any coding agent or IDE copilot. Because CodeRabbit `,_jsx(_components.a,{href:`/overview/architecture`,children:`deeply understands`}),` your codebase through continuous analysis, each plan is tailored to your architecture and conventions, covering codebase research, step-by-step tasks, and agent-ready prompts.`]}),`\n`,_jsx(Heading,{level:`2`,id:`supported-issue-trackers`,children:`Supported Issue Trackers`}),`\n`,_jsx(_components.p,{children:`CodeRabbit supports five issue trackers for plan generation. See the platform-specific guides for setup and configuration details.`}),`\n`,_jsxs(CardGroup,{cols:4,children:[_jsx(Card,{title:`GitHub`,icon:`github`,href:`/issues/planner/github`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Guide`})}),_jsx(Card,{title:`GitLab`,icon:`gitlab`,href:`/issues/planner/gitlab`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Guide`})}),_jsx(Card,{title:`Azure DevOps`,icon:`microsoft`,href:`/issues/planner/azure-devops`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Guide`})}),_jsx(Card,{title:`Jira`,icon:`jira`,href:`/issues/planner/jira`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Guide`})}),_jsx(Card,{title:`Linear`,icon:`linear`,href:`/issues/planner/linear`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Guide`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`planning`,children:`Planning`}),`\n`,_jsxs(_components.p,{children:[`The recommended way to use issue planning is to `,_jsx(_components.strong,{children:`enable auto-planning`}),` on your platform so that Coding Plans are generated automatically whenever issues match the conditions you configure. Refer to the platform-specific guides above to set up auto-planning.`]}),`\n`,_jsxs(_components.p,{children:[`To generate a plan on demand, comment `,_jsx(_components.code,{children:`@coderabbitai plan`}),` on any issue.`]}),`\n`,_jsx(Heading,{level:`2`,id:`viewing-and-refining-plans`,children:`Viewing and Refining Plans`}),`\n`,_jsx(_components.p,{children:`How you view and refine Coding Plans depends on your platform:`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsxs(Card,{title:`GitHub \u0026 GitLab`,children:[_jsx(_components.p,{children:`The full Coding Plan is posted as a comment directly on the issue. Reply to\nthe plan comment to refine details, challenge design choices, or request\nchanges.`}),_jsx(Frame,{caption:`Coding Plan posted as a comment on a GitHub issue`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=720c50d5d557a1e5bc8838b37d0645f9`,alt:`Coding Plan as GitHub issue comment`,\"data-og-width\":`1856`,width:`1856`,\"data-og-height\":`1162`,height:`1162`,\"data-path\":`assets/images/planning-github-comment.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?w=280\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=2b63e7ec0fbcf1ab2942eee0f0e26d7d 280w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?w=560\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=704de913d52eb9828f2f7d45765f1d68 560w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?w=840\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=18079aaf5d574ebd469b08ff446d3652 840w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?w=1100\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=2d57e486336f5f8a6a688aed8f9bb618 1100w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?w=1650\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=a4cfe61ace8f771272e362ed759c07bd 1650w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/planning-github-comment.png?w=2500\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=fcc46a3401a814127b9f73cb1cf05ca5 2500w`})})]}),_jsxs(Card,{title:`Azure DevOps, Jira \u0026 Linear`,children:[_jsx(_components.p,{children:`The Coding Plan is available in the CodeRabbit web app. Use the chat\npanel on the right to iterate on the plan before handing off the finalized prompts to\nyour coding agent.`}),_jsx(Frame,{caption:`Coding Plan in CodeRabbit Web Interface`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=675d1c116a50b922932579684cb300c3`,alt:`Plan Editor user interface`,\"data-og-width\":`2918`,width:`2918`,\"data-og-height\":`1596`,height:`1596`,\"data-path\":`assets/images/plan-editor.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?w=280\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=1d373b47d899ba7188037bfe9a02d0dc 280w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?w=560\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=fbfad31bef68e0fba7b2a89db933d449 560w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?w=840\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=ce449bbd480847e02c8c1f92a2858e83 840w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?w=1100\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=4a781b18895a37c484c0ee9512976c1b 1100w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?w=1650\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=d04ae1c2d1b540e489a43837f16fe107 1650w, https://mintcdn.com/coderabbit/0_UNDuRPehZvImxS/assets/images/plan-editor.png?w=2500\u0026fit=max\u0026auto=format\u0026n=0_UNDuRPehZvImxS\u0026q=85\u0026s=a3d9f2e06617cb10a8c860fa0e1340f9 2500w`})})]})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`For platform-specific details on triggering and configuring plans, see the\n`,_jsx(_components.a,{href:`/issues/planner/github`,children:`GitHub`}),`, `,_jsx(_components.a,{href:`/issues/planner/gitlab`,children:`GitLab`}),`,\n`,_jsx(_components.a,{href:`/issues/planner/azure-devops`,children:`Azure DevOps`}),`, `,_jsx(_components.a,{href:`/issues/planner/jira`,children:`Jira`}),`,\nand `,_jsx(_components.a,{href:`/issues/planner/linear`,children:`Linear`}),` guides.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`plan-structure`,children:`Plan Structure`}),`\n`,_jsx(_components.p,{children:`Each Coding Plan contains the following sections:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Section`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Summary`})}),_jsx(_components.td,{children:`2-3 sentence overview of the implementation approach`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Research`})}),_jsx(_components.td,{children:`Deep codebase analysis leveraging CodeRabbit’s project knowledge, identifying relevant files, patterns, dependencies, and architectural decisions specific to the project`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Design Choices`})}),_jsx(_components.td,{children:`Decisions made during planning with rationale for each`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Phases`})}),_jsx(_components.td,{children:`Logical chunks of work that should be done together`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Tasks`})}),_jsx(_components.td,{children:`Individual tasks within each phase`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Agent Prompt`})}),_jsx(_components.td,{children:`Machine-readable instructions for coding agents (per phase and combined)`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`chatting-about-your-plan`,children:`Chatting about Your Plan`}),`\n`,_jsx(_components.p,{children:`Chat with CodeRabbit to ask questions, request changes to specific tasks or phases, challenge design choices, or get clarification on implementation details. CodeRabbit responds and updates the plan accordingly. See the platform-specific guides for details on how chatting works on your platform.`}),`\n`,_jsx(Heading,{level:`3`,id:`re-planning`,children:`Re-planning`}),`\n`,_jsx(_components.p,{children:`Provide feedback and regenerate your plan to incorporate changes. See the platform-specific guides for details on the re-planning workflow.`}),`\n`,_jsx(Heading,{level:`3`,id:`handing-off-to-your-coding-agent`,children:`Handing off to your coding agent`}),`\n`,_jsx(_components.p,{children:`Once you’re satisfied with a Coding Plan, copy the agentic prompts and paste them into your preferred coding agent (Claude Code, Cursor, GitHub Copilot, etc.). You can also ask an agent with direct platform access (for example, GitHub or GitLab MCP) to fetch the issue and execute CodeRabbit’s plan. See the platform-specific guides for handoff options.`}),`\n`,_jsxs(_components.p,{children:[`Organizations with `,_jsx(_MdxComponentBoundary,{name:`Hint`,children:_jsx(Hint,{type:`coding-agent`})}),` access can open an eligible plan as a coding task, approve it, and have Coding Agent implement it. See `,_jsx(_components.a,{href:`/code/start-a-task#from-an-approved-plan`,children:`Start from an approved plan`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`frequently-asked-questions`,children:`Frequently Asked Questions`}),`\n`,_jsx(Heading,{level:`3`,id:`how-long-does-plan-generation-take`,children:`How long does plan generation take?`}),`\n`,_jsxs(_components.p,{children:[`Plan generation typically takes `,_jsx(_components.a,{href:`#how-is-coderabbit-different-from-using-chatgpt-or-coding-agents-for-planning`,children:`between 5 and 10 minutes`}),` depending on the complexity of the issue and codebase.`]}),`\n`,_jsx(Heading,{level:`3`,id:`can-i-regenerate-a-plan`,children:`Can I regenerate a plan?`}),`\n`,_jsx(_components.p,{children:`Yes. You can regenerate a plan on all supported platforms. See your platform’s guide for specific instructions.`}),`\n`,_jsx(Heading,{level:`3`,id:`can-multiple-people-work-on-the-same-plan`,children:`Can multiple people work on the same plan?`}),`\n`,_jsx(_components.p,{children:`Yes. Anyone in your organization can view plans, discuss them with CodeRabbit, and trigger re-plans.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-is-coderabbit-different-from-using-chatgpt-or-coding-agents-for-planning`,children:`How is CodeRabbit different from using ChatGPT or coding agents for planning?`}),`\n`,_jsx(_components.p,{children:`Any AI agent or LLM can write an implementation plan. The difference is in the quality and context behind that plan:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Deeper codebase understanding`}),` - When an AI agent generates a plan, it typically reviews only a handful of files. CodeRabbit’s Coding Plans are grounded in `,_jsx(_components.a,{href:`/overview/architecture`,children:`deep codebase understanding`}),` through continuous code analysis and an extensive knowledge base. This means plans reference the right files, follow your established patterns, and integrate seamlessly with your existing code.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Access to issues and better context`}),` - CodeRabbit works with issue trackers, surfacing relevant related issues, even when the assigned engineer isn’t aware of them. This broader context ensures plans account for ongoing work, previous decisions, and the full scope of your project’s direction.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Collaborative review`}),` - CodeRabbit plans are available for review by other engineers and product owners. Team members can discuss, challenge design choices, and refine plans together before implementation begins.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Accountability and history`}),` - Every plan version is preserved. You can track what was planned, when it was planned, and why decisions were made. This audit trail provides accountability and helps teams understand the evolution of features over time.`]}),`\n`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{Hint,TeamPlanBadge,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Issue Planner","description":"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!","href":"/issues/planner/index"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[140,4358,")=>null;const TeamPlanBadge=()=>null;fun"]]},"mdxExtracts":{"tableOfContents":[{"title":"Supported Issue Trackers","slug":"supported-issue-trackers","depth":2,"children":[]},{"title":"Planning","slug":"planning","depth":2,"children":[]},{"title":"Viewing and Refining Plans","slug":"viewing-and-refining-plans","depth":2,"children":[{"title":"Plan Structure","slug":"plan-structure","depth":3,"children":[]},{"title":"Chatting about Your Plan","slug":"chatting-about-your-plan","depth":3,"children":[]},{"title":"Re-planning","slug":"re-planning","depth":3,"children":[]},{"title":"Handing off to your coding agent","slug":"handing-off-to-your-coding-agent","depth":3,"children":[]}]},{"title":"Frequently Asked Questions","slug":"frequently-asked-questions","depth":2,"children":[{"title":"How long does plan generation take?","slug":"how-long-does-plan-generation-take","depth":3,"children":[]},{"title":"Can I regenerate a plan?","slug":"can-i-regenerate-a-plan","depth":3,"children":[]},{"title":"Can multiple people work on the same plan?","slug":"can-multiple-people-work-on-the-same-plan","depth":3,"children":[]},{"title":"How is CodeRabbit different from using ChatGPT or coding agents for planning?","slug":"how-is-coderabbit-different-from-using-chatgpt-or-coding-agents-for-planning","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/coderabbit/c83587702ff75216/inkeep.js","/_mintlify/custom/coderabbit/b7ecafa4358af1c7/yaml-editor.js","/_mintlify/custom/coderabbit/44fd990531d7b83e/acquisition.js"],"subdomain":"coderabbit","siteName":"CodeRabbit","title":"Issue Planner - CodeRabbit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T17:21:26.067Z","originalFileLocation":"issues/planner/index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!\">\u003cmeta data-mint-head name=\"application-name\" content=\"CodeRabbit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Issue Planner - CodeRabbit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CodeRabbit Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coderabbit.ai/issues/planner\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://coderabbit.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Issue+Planner\u0026amp;description=Turn+issues+into+comprehensive+Coding+Plans+ready+for+your+favorite+coding+agent+or+IDE+copilot.+Works+with+GitHub%2C+GitLab%2C+Azure+DevOps%2C+Jira%2C+and+Linear%21\u0026amp;theme=eb8011b6d836a1ac186d66ac\u0026amp;signature=37115a39a47dfe7339ac0c367d1dbff241fd5ee4f92792b65039475f97a1e993\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Issue Planner - CodeRabbit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://coderabbit.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Issue+Planner\u0026amp;description=Turn+issues+into+comprehensive+Coding+Plans+ready+for+your+favorite+coding+agent+or+IDE+copilot.+Works+with+GitHub%2C+GitLab%2C+Azure+DevOps%2C+Jira%2C+and+Linear%21\u0026amp;theme=eb8011b6d836a1ac186d66ac\u0026amp;signature=37115a39a47dfe7339ac0c367d1dbff241fd5ee4f92792b65039475f97a1e993\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/coderabbit/d4muCEkFHyXyjg4k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CodeRabbit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF570A\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.coderabbit.ai/issues/planner\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/issues/planner.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.coderabbit.ai/#organization\",\"name\":\"CodeRabbit\",\"url\":\"https://docs.coderabbit.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/coderabbit/qAZa_d7FrwPO_w-O/coderabbit-logo-light.svg?fit=max\u0026auto=format\u0026n=qAZa_d7FrwPO_w-O\u0026q=85\u0026s=d2bf9e91be0e760ec9cb468676fa6ab6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.coderabbit.ai#website\",\"name\":\"CodeRabbit\",\"url\":\"https://docs.coderabbit.ai\",\"publisher\":{\"@id\":\"https://docs.coderabbit.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.coderabbit.ai/issues/planner#webpage\",\"url\":\"https://docs.coderabbit.ai/issues/planner\",\"name\":\"Issue Planner\",\"description\":\"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!\",\"dateModified\":\"2026-10-14T17:21:26.067Z\",\"isPartOf\":{\"@id\":\"https://docs.coderabbit.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coderabbit.ai/issues/planner#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coderabbit.ai/issues/planner#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"CodeRabbit Plan\",\"item\":\"https://docs.coderabbit.ai/plan/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Issue Planner\",\"item\":\"https://docs.coderabbit.ai/issues/planner/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Issue Planner\",\"item\":\"https://docs.coderabbit.ai/issues/planner\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coderabbit.ai/issues/planner#article\",\"headline\":\"Issue Planner\",\"name\":\"Issue Planner\",\"description\":\"Turn issues into comprehensive Coding Plans ready for your favorite coding agent or IDE copilot. Works with GitHub, GitLab, Azure DevOps, Jira, and Linear!\",\"url\":\"https://docs.coderabbit.ai/issues/planner\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coderabbit.ai/issues/planner#webpage\"},\"dateModified\":\"2026-10-14T17:21:26.067Z\",\"publisher\":{\"@id\":\"https://docs.coderabbit.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.coderabbit.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CodeRabbit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CodeRabbit","nav":{"global":{"anchors":[{"anchor":"Quickstart","icon":"rocket","hidden":false,"href":"/getting-started/quickstart"},{"anchor":"Blog","icon":"pen-line","hidden":true,"href":"https://coderabbit.ai/blog"},{"anchor":"Changelog","icon":"history","href":"/changelog"},{"anchor":"Support","icon":"life-buoy","href":"/support"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/coderabbit"}]},"tabs":[{"tab":"CodeRabbit Platform","icon":"layers","groups":[{"group":"Platform","icon":"layers","pages":[{"title":"Agentic Change Management","sidebarTitle":"Overview","mode":"wide","href":""},{"title":"The System Behind Every Review Comment","sidebarTitle":"Architecture","mode":"wide","href":"/overview/architecture"},{"group":"Platform Tour","expanded":false,"pages":[{"title":"Pull Request Reviews","mode":"wide","href":"/overview/pull-request-review"},{"title":"Code reviews in IDE and CLI","sidebarTitle":"IDE and CLI reviews","mode":"wide","href":"/overview/ide-cli-review"},{"title":"CodeRabbit Plan","sidebarTitle":"CodeRabbit Plan","mode":"wide","href":"/overview/coderabbit-plan"},{"title":"CodeRabbit Agent for Slack","sidebarTitle":"Agent for Slack","mode":"wide","href":"/overview/slack-agent"}]}]},{"group":"Getting Started","icon":"rocket","pages":[{"title":"Quickstart","sidebarTitle":"Quickstart","href":"/getting-started/quickstart"},{"group":"Hands-on Guide","root":{"title":"Hands-on guide","href":"/guide/index"},"expanded":false,"pages":[{"title":"Repository setup","sidebarTitle":"Add repository","href":"/guide/repository"},{"title":"Code Review","sidebarTitle":"Code Review","href":"/guide/code-review"},{"title":"Interactive code review chat","sidebarTitle":"Chat","href":"/guide/chat"},{"title":"Improvements","sidebarTitle":"Improvements","href":"/guide/improvements"},{"title":"You're Ready to Ship Better Code!","sidebarTitle":"Success","href":"/guide/complete"}]}]},{"group":"Triage","icon":"list-filter","pages":[{"title":"Triage","sidebarTitle":"Triage overview","href":"/triage/index"},{"title":"Your Triage view","sidebarTitle":"Your Triage view","href":"/triage/your-triage-view"},{"title":"How Triage prioritizes","sidebarTitle":"Prioritization","href":"/triage/prioritization"},{"title":"Actions on a pull request","sidebarTitle":"Actions","href":"/triage/actions"},{"title":"Triage settings","sidebarTitle":"Rules and automation","href":"/triage/rules"},{"title":"Triage in Slack","sidebarTitle":"Triage in Slack","href":"/triage/slack"},{"title":"Requirements and FAQ","sidebarTitle":"Requirements and FAQ","href":"/triage/faq"},{"title":"Troubleshooting Triage","sidebarTitle":"Troubleshooting","href":"/triage/troubleshooting"}]},{"group":"Pull Request Reviews","icon":"git-pull-request","pages":[{"title":"Overview","href":"/guides/code-review-overview"},{"title":"PR Summaries","href":"/pr-reviews/summaries"},{"title":"PR Walkthroughs","href":"/pr-reviews/walkthroughs"},{"title":"Merge Risk","sidebarTitle":"Merge Risk","href":"/pr-reviews/merge-risk"},{"title":"CI/CD Pipeline Analysis","href":"/pr-reviews/cicd-pipeline-analysis"},{"title":"PR validation using linked issues","sidebarTitle":"Linked Issues","href":"/issues/pr-validation"},{"title":"Slop Detection","sidebarTitle":"Slop Detection","href":"/pr-reviews/slop-detection"},{"title":"Path-based review instructions","href":"/configuration/path-instructions"},{"title":"AST-based path instructions","href":"/configuration/ast-grep-instructions"},{"title":"Automatic review controls","sidebarTitle":"Automatic review controls","href":"/configuration/auto-review"},{"title":"CodeRabbit status check","sidebarTitle":"Status check","href":"/pr-reviews/status-check"},{"title":"Manage code reviews","href":"/guides/commands"},{"title":"Code review commands","href":"/reference/review-commands"}]},{"group":"Change Stack","icon":"layers","pages":[{"title":"Change Stack","sidebarTitle":"Change Stack overview","href":"/change-stack/index"},{"title":"Navigate a change","sidebarTitle":"Navigation","href":"/change-stack/navigation"},{"title":"Read changes","href":"/change-stack/reading-diffs"},{"title":"Understand findings","sidebarTitle":"Findings","href":"/change-stack/findings"},{"title":"Review and merge","sidebarTitle":"Review and merge","href":"/change-stack/reviewing"},{"title":"Ask about the change","sidebarTitle":"Chat","href":"/change-stack/chat"},{"title":"Collaborate in Slack and Discord","sidebarTitle":"Slack and Discord collaboration","href":"/change-stack/notifications"},{"title":"Snapshots and freshness","sidebarTitle":"Snapshots","href":"/change-stack/snapshots"},{"title":"Provider support","href":"/change-stack/provider-support"}]},{"group":"Available actions","icon":"message-square-diff","pages":[{"title":"Create issues","sidebarTitle":"Issue creation","href":"/issues/creation"}]},{"group":"Pre-Merge Checks","icon":"shield","pages":[{"title":"Built-in Pre-Merge Checks","sidebarTitle":"Built-in Checks","href":"/pr-reviews/pre-merge-checks"},{"title":"Custom checks","href":"/pr-reviews/custom-checks"}]},{"group":"Approvals","icon":"badge-check","pages":[{"title":"Automatic Approvals","sidebarTitle":"Automatic Approvals","href":"/pr-reviews/automatic-approvals"},{"title":"Approval risk limits","sidebarTitle":"Risk limits","href":"/pr-reviews/approval-risk-limits"},{"title":"Choose an approval policy","sidebarTitle":"Approval policies","href":"/pr-reviews/approval-policies"}]},{"group":"Post-Merge Actions","icon":"rocket","pages":[{"title":"Post-Merge Actions","sidebarTitle":"Post-Merge Actions","href":"/pr-reviews/post-merge-actions"}]},{"group":"Finishing touches","icon":"paintbrush","pages":[{"title":"Finishing Touches overview","sidebarTitle":"Overview","href":"/finishing-touches/index"},{"title":"Fix comments: apply CodeRabbit code fixes to pull requests","sidebarTitle":"Fix comments","href":"/finishing-touches/autofix"},{"title":"Fix CI failures","href":"/finishing-touches/fix-ci"},{"title":"Resolve Merge Conflicts","href":"/finishing-touches/resolve-merge-conflict"},{"title":"Generate unit tests","href":"/finishing-touches/unit-test-generation"},{"title":"Custom Finishing Touch recipes","sidebarTitle":"Custom recipes","href":"/finishing-touches/custom-finishing-touches"},{"title":"Simplify code","href":"/finishing-touches/simplify"},{"title":"Generate docstrings","href":"/finishing-touches/docstrings"}]},{"group":"Knowledge Base","icon":"brain","pages":[{"title":"Knowledge Base overview","sidebarTitle":"Overview","href":"/knowledge-base/index"},{"title":"Learnings","href":"/knowledge-base/learnings"},{"title":"Code Guidelines","href":"/knowledge-base/code-guidelines"},{"title":"Multi-Repo Analysis","href":"/knowledge-base/multi-repo-analysis"},{"title":"MCP Servers","href":"/knowledge-base/mcp-context"},{"title":"Web Search","href":"/knowledge-base/web-search"}]},{"group":"CodeRabbit Security","icon":"shield-check","pages":[{"title":"CodeRabbit Security","sidebarTitle":"Security overview","href":"/security/index"},{"title":"CodeRabbit Security check","sidebarTitle":"Pull request check","href":"/security/pull-request-check"},{"title":"Attack surface and continuous posture","sidebarTitle":"Attack surface","href":"/security/attack-surface"},{"title":"Delta scans","href":"/security/delta-scans"},{"title":"Security Blast Radius","sidebarTitle":"Blast Radius","href":"/security/blast-radius"},{"title":"Steer Deep Scans","href":"/security/steer-scans"},{"title":"Runtime verification","href":"/security/runtime-verification"},{"title":"Security Architecture Review","sidebarTitle":"Architecture Review","href":"/security/architecture-review"}]},{"group":"Configuration","icon":"settings","pages":[{"title":"Configuration overview","sidebarTitle":"Configuration overview","href":"/guides/configuration-overview"},{"title":"Configuration inheritance","href":"/configuration/configuration-inheritance"},{"group":"Configuration file","expanded":false,"pages":[{"title":"Configuration via YAML file","href":"/getting-started/yaml-configuration"},{"title":"Configuration via TypeScript file","sidebarTitle":"TypeScript configuration","href":"/configuration/typescript-configuration"},{"title":"Central configuration","href":"/configuration/central-configuration"},{"title":"YAML validator","href":"/configuration/yaml-validator"}]},{"group":"Configuration UI","expanded":false,"pages":[{"title":"Repository settings","href":"/guides/repository-settings"},{"title":"Organization settings","href":"/guides/organization-settings"}]},{"group":"Configuration Examples","root":{"title":"Configuration examples","href":"/configuration/example/index"},"expanded":false,"pages":[{"title":"Sample configuration for React Native + Expo","sidebarTitle":"React Native + Expo","mode":"wide","href":"/configuration/example/typescript/expo"},{"title":"Sample configuration for Django","sidebarTitle":"Python + Django","mode":"wide","href":"/configuration/example/python/django"},{"title":"Sample configuration for Mintlify-based documentation website","sidebarTitle":"Mintlify Documentation","mode":"wide","href":"/configuration/example/other/mintlify-documentation"}]}]},{"group":"Tools","icon":"wrench","expanded":false,"pages":[{"title":"Third-party tools overview","sidebarTitle":"Third-party tools","href":"/tools/index"},{"title":"Tool catalog","href":"/tools/list"},{"group":"Per-tool guides","expanded":false,"pages":[{"group":"Multipurpose","pages":[{"title":"ast-grep","href":"/tools/ast-grep"},{"title":"Semgrep","href":"/tools/semgrep"},{"title":"OpenGrep","href":"/tools/opengrep"}]},{"group":"Security","pages":[{"title":"Betterleaks","href":"/tools/betterleaks"},{"title":"SkillSpector","href":"/tools/skillspector"},{"title":"TruffleHog","href":"/tools/trufflehog"},{"title":"Microsoft Presidio Analyzer","sidebarTitle":"Presidio","href":"/tools/presidio"},{"title":"OSV-Scanner","href":"/tools/osv-scanner"},{"title":"Brakeman","href":"/tools/brakeman"}]},{"group":"Languages","pages":[{"title":"ESLint","href":"/tools/eslint"},{"title":"Biome","href":"/tools/biome"},{"title":"Oxlint","href":"/tools/oxlint"},{"title":"React Doctor","href":"/tools/react-doctor"},{"title":"Ruff","href":"/tools/ruff"},{"title":"Pylint","href":"/tools/pylint"},{"title":"Flake8","href":"/tools/flake8"},{"title":"golangci-lint","href":"/tools/golangci-lint"},{"title":"Clippy","href":"/tools/clippy"},{"title":"RuboCop","href":"/tools/rubocop"},{"title":"SwiftLint","href":"/tools/swiftlint"},{"title":"PHPStan","href":"/tools/phpstan"},{"title":"PHPMD","href":"/tools/phpmd"},{"title":"PHPCS","href":"/tools/phpcs"},{"title":"PMD","href":"/tools/pmd"},{"title":"detekt","href":"/tools/detekt"},{"title":"Clang-Tidy","href":"/tools/clang-tidy"},{"title":"Cppcheck","href":"/tools/cppcheck"},{"title":"Verilator","href":"/tools/verilator"},{"title":"Infer","href":"/tools/fbinfer"},{"title":"Luacheck","href":"/tools/luacheck"},{"title":"ShellCheck","href":"/tools/shellcheck"},{"title":"Blinter","href":"/tools/blinter"},{"title":"Fortitude","href":"/tools/fortitude"},{"title":"Regal","href":"/tools/regal"},{"title":"PSScriptAnalyzer","href":"/tools/psscriptanalyzer"},{"title":"smarty-lint","href":"/tools/smarty-lint"},{"title":"SQLFluff","href":"/tools/sqlfluff"},{"title":"Squawk","href":"/tools/squawk"},{"title":"Prisma Lint","href":"/tools/prisma-lint"},{"title":"Stylelint","href":"/tools/stylelint"},{"title":"HTMLHint","href":"/tools/htmlhint"},{"title":"ember-template-lint","href":"/tools/ember-template-lint"},{"title":"YAMLlint","href":"/tools/yamllint"},{"title":"Dotenv Linter","href":"/tools/dotenv"},{"title":"Buf","href":"/tools/buf"},{"title":"oasdiff","href":"/tools/oasdiff"},{"title":"Checkmake","href":"/tools/checkmake"},{"title":"Shopify Theme Check","href":"/tools/shopify-cli"}]},{"group":"Infrastructure as code","pages":[{"title":"Checkov","href":"/tools/checkov"},{"title":"Trivy","href":"/tools/trivy"},{"title":"TFLint","href":"/tools/tflint"},{"title":"Hadolint","href":"/tools/hadolint"}]},{"group":"CI/CD","pages":[{"title":"actionlint","href":"/tools/actionlint"},{"title":"zizmor","href":"/tools/zizmor"},{"title":"CircleCI","href":"/tools/circleci"},{"title":"GitHub Checks","href":"/tools/github-checks"}]},{"group":"Docs and prose","pages":[{"title":"markdownlint","href":"/tools/markdownlint"},{"title":"LanguageTool","href":"/tools/languagetool"},{"title":"Vale","href":"/tools/vale"}]}]},{"title":"Tools configuration reference","sidebarTitle":"Tools configuration","mode":"wide","href":"/tools/reference"}]},{"group":"CodeRabbit Plan","icon":"list-check","pages":[{"title":"CodeRabbit Plan overview","sidebarTitle":"Overview","href":"/plan/index"},{"title":"Create a plan","sidebarTitle":"Create a plan","href":"/plan/create-plan"},{"title":"Plan structure and refinement","sidebarTitle":"Plan refinement","href":"/plan/plan-refinement"},{"title":"Agent Handoff","sidebarTitle":"Agent Handoff","description":"Copy agent-ready prompts from a Coding Plan and hand them off to your preferred coding agent or IDE.","href":"/plan/agent-handoff"},{"group":"Issue Planner","root":{"title":"Issue Planner","href":"/issues/planner/index"},"expanded":false,"pages":[{"title":"Planning on GitHub","icon":"github","sidebarTitle":"GitHub guide","description":"Generate comprehensive Coding Plans from your issues on the GitHub issue tracker.","href":"/issues/planner/github"},{"title":"Planning on GitLab","sidebarTitle":"GitLab guide","icon":"gitlab","description":"Generate comprehensive Coding Plans from your issues on the GitLab issue tracker.","href":"/issues/planner/gitlab"},{"title":"Planning on Azure DevOps","sidebarTitle":"Azure DevOps guide","icon":"microsoft","description":"Generate comprehensive Coding Plans from Azure DevOps Boards work items.","href":"/issues/planner/azure-devops"},{"title":"Planning on Jira","sidebarTitle":"Jira guide","icon":"jira","description":"Generate comprehensive Coding Plans from your issues using Jira issue tracker.","href":"/issues/planner/jira"},{"title":"Planning on Linear","sidebarTitle":"Linear guide","icon":"linear","description":"Generate comprehensive Coding Plans from your issues using Linear issue tracker.","href":"/issues/planner/linear"}]}]},{"group":"Issue Management","icon":"clipboard-check","pages":[{"title":"Issue Enrichment","href":"/issues/enrichment"}]},{"group":"Resources","icon":"book-open","pages":[{"title":"Configuration reference","href":"/reference/configuration"},{"title":"CodeRabbit glossary: review, Git, and code analysis terms","sidebarTitle":"Glossary","href":"/reference/glossary"},{"title":"CodeRabbit FAQs: reviews, pricing, security, and setup","sidebarTitle":"CodeRabbit FAQ","href":"/faq"}]}]},{"tab":"CLI and IDE tools","icon":"square-terminal","pages":[{"title":"CLI and IDE tools","href":"/cli"}]},{"tab":"Coding Agent","icon":"square-code","pages":[{"title":"Coding Agent","href":"/code"}]},{"tab":"Agent for Slack and Discord","icon":"bot","pages":[{"title":"Agent for Slack and Discord","href":"/agent"}]},{"tab":"Management","icon":"wrench","pages":[{"title":"Management","href":"/management"}]}]},"title":"Issue Planner - CodeRabbit","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["10e4515597","07c022d89b","a74be98ba7"],"chunks":["BannerMarkdown-CJDb0dYK.js","dist-Cv_O2fky.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-BGBGWFTt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}