Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>CodeIntake — AI Feature & Bug PlannerNew to Visual Studio Code? Get it now.
CodeIntake — AI Feature & Bug Planner

CodeIntake — AI Feature & Bug Planner

Vishal Verma

|
2 installs
| (0) | Free
Collects structured feature requests or bug fix details via an interactive form, plans them with Copilot AI, and integrates with JIRA. Works with any project.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CodeIntake — AI Feature & Bug Planner

A VS Code extension that collects structured feature requests or bug fix details through an interactive webview form, plans them with GitHub Copilot, and optionally fetches context from JIRA. Works with any project — auto-detects your tech stack and architecture on first install.


Features

  • Interactive webview form — Guided fields for feature requests and bug fix reports
  • JIRA integration — Fetch ticket details directly from JIRA Cloud or Server/Data Center
  • AI-powered planning — Uses Copilot to analyze a JIRA ticket and auto-fill the form with a technical plan
  • Project-aware — Auto-detects your project name, architecture layers, tech stack, and change scopes
  • Knowledge base — Learns from each planning session and stores reusable codebase insights
  • Prompt templates — Installs reusable .prompt.md files into your project for Copilot Chat
  • Multiple output options — Send to Copilot Chat, copy to clipboard, or preview as markdown

Installation

From VSIX

cd tools/code-intake
npm install
npx @vscode/vsce package --no-dependencies --allow-missing-repository

Then in VS Code: Cmd+Shift+P → Extensions: Install from VSIX... → select code-intake-1.0.0.vsix → reload window.

Development (symlink)

ln -s "$(pwd)/tools/code-intake" ~/.vscode/extensions/code-intake

Reload VS Code after symlinking.


What Happens on First Activation

When the extension activates in a new workspace, it automatically:

  1. Creates a knowledge file at .github/intake-knowledge.md (configurable path) with a skeleton template for you to fill in with your project's architecture, conventions, and patterns.

  2. Installs prompt templates — copies new-feature.prompt.md and bug-fix.prompt.md into .github/prompts/ so they're available as reusable Copilot Chat prompts.

  3. Analyzes your project and populates workspace settings:

    • Project name — from package.json or folder name
    • Architecture layers — detected from source directory structure (e.g., src/, resources/src/)
    • Tech stack — detected from config files and dependencies (React, Angular, Salesforce, Java, Python, Go, Rust, Ruby, etc.)
    • Change scopes — generates "Full Stack", "Frontend Only", "Backend Only" options based on detected layers

Settings are only auto-populated if they haven't been explicitly configured at the workspace level. Your customizations are never overwritten.


Commands

Open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and run:

Command Description
CodeIntake: Start (Feature or Bug Fix) Choose between feature or bug, then open the form
CodeIntake: New Feature Request Open the feature request form directly
CodeIntake: Bug Fix Report Open the bug fix report form directly
CodeIntake: Plan from JIRA Ticket Same as Start — opens the form with JIRA planning

Usage Workflow

1. Plan from JIRA (optional)

At the top of the form, enter a JIRA ticket key (e.g., PROJ-1234) or full URL:

  • Fetch from JIRA — Pulls the ticket summary, description, type, priority, labels, and components into the description field for review.
  • Plan with Copilot — Sends the ticket info to Copilot, which generates a technical plan and auto-fills all form fields (layer, files, services, acceptance criteria, edge cases, etc.).

If the description field is empty when you click Plan with Copilot, it automatically fetches the JIRA ticket first and asks you to review before planning.

2. Review & Edit the Form

The form is organized into sections:

Feature Request: | Section | Fields | |---------|--------| | What & Where | Title, Description, Layer, Existing Files, New Files | | Dependencies | Services/Modules, Events, API Endpoints | | Behavior | Acceptance Criteria, Edge Cases | | Metadata | Jira Ticket, Additional Context |

Bug Fix Report: | Section | Fields | |---------|--------| | What's Wrong | Title, Jira Ticket, Current Behavior, Expected Behavior, Steps to Reproduce | | Where & Why | Affected Files, Root Cause, Regression Risk, Related Tests | | Context | Frequency/Environment, Additional Context |

Auto-filled fields are highlighted with a blue border so you can easily spot and validate them.

3. Output

Button Action
Proceed to Copilot Formats the form data and opens a new Copilot Chat session with the full template
Copy to Clipboard Copies the formatted markdown to your clipboard
Preview Opens a side-by-side markdown preview
Cancel Closes the form

Settings

All settings are under the codeIntake namespace. Configure them in .vscode/settings.json or via the Settings UI.

Project Configuration

Setting Type Default Description
codeIntake.knowledgeFilePath string .github/intake-knowledge.md Path to the knowledge file (relative to workspace root). Created automatically if missing.
codeIntake.project.name string "" (auto-detected) Project name used in planning prompts. Auto-detected from package.json or folder name.
codeIntake.project.layers string[] [] (auto-detected) Architecture layers shown in the Layer dropdown. Auto-detected from source directories.
codeIntake.project.architecturePrompt string "" (auto-detected) Custom architecture description injected into Copilot planning prompts. Supports multiline.
codeIntake.project.scopes array [] (auto-detected) Change scope options for the planning form. Each item: { label, value, prompt }.
codeIntake.installPromptFiles boolean true Install prompt templates into .github/prompts/ on activation.

JIRA Configuration

Setting Type Default Description
codeIntake.jira.baseUrl string "" JIRA instance base URL (e.g., https://yourcompany.atlassian.net)
codeIntake.jira.email string "" Atlassian account email (for Cloud Basic auth)
codeIntake.jira.apiToken string "" JIRA API token. Prefer the JIRA_API_TOKEN env variable for security.

JIRA Authentication

  • Atlassian Cloud: Set both jira.email and jira.apiToken (or JIRA_API_TOKEN env var). Uses Basic auth.
  • Jira Server / Data Center: Set only jira.apiToken (or JIRA_API_TOKEN env var). Uses Bearer token auth.

Knowledge Base

The extension maintains a project-specific knowledge file that improves planning quality over time.

How It Works

  1. On first activation, a skeleton knowledge file is created at the configured path (default: .github/intake-knowledge.md).
  2. After each Plan with Copilot session, the extension uses Copilot to extract reusable insights (file patterns, service dependencies, API conventions) and merges them into the knowledge file.
  3. On subsequent planning sessions, the accumulated knowledge is injected into the prompt for more accurate results.

What to Put in It

Fill in your knowledge file with:

  • Architecture overview and layer boundaries
  • File naming conventions and directory structure
  • Key services, modules, and their relationships
  • API endpoint patterns
  • Testing conventions and frameworks
  • Common design patterns

The knowledge file is capped at 8KB to keep prompts efficient. The extension automatically prioritizes the most broadly useful facts.


Example: Setting Up for a New Project

Minimal Setup (auto-detection)

Just install the extension — it detects everything automatically.

Custom Setup

Add to .vscode/settings.json:

{
  "codeIntake.knowledgeFilePath": "docs/intake-knowledge.md",
  "codeIntake.project.name": "my-app",
  "codeIntake.project.layers": ["frontend", "api", "database", "shared"],
  "codeIntake.project.architecturePrompt": "React frontend in src/app/, Express API in src/api/, PostgreSQL with Prisma ORM in src/db/. Shared types in src/shared/.",
  "codeIntake.project.scopes": [
    { "label": "Full Stack", "value": "both", "prompt": "Include all layers." },
    { "label": "Frontend Only", "value": "ui", "prompt": "Focus on React components, hooks, and styles. No API or DB changes." },
    { "label": "API Only", "value": "api", "prompt": "Focus on Express routes, middleware, and Prisma queries. No frontend changes." }
  ],
  "codeIntake.jira.baseUrl": "https://mycompany.atlassian.net",
  "codeIntake.jira.email": "dev@mycompany.com"
}

Then set the API token securely:

export JIRA_API_TOKEN="your-token-here"

Files Created by the Extension

File Location Purpose
intake-knowledge.md .github/ (configurable) Project-specific knowledge base for planning
new-feature.prompt.md .github/prompts/ Reusable Copilot Chat prompt for feature requests
bug-fix.prompt.md .github/prompts/ Reusable Copilot Chat prompt for bug fix reports

None of these files are overwritten if they already exist.


Requirements

  • VS Code 1.90.0 or later
  • GitHub Copilot extension (for AI planning features)
  • JIRA access (optional — for ticket fetching)
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft