From ca14b1f3fe51d497c73773ee86aeaaf3ff719ec2 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 2 Jun 2026 18:06:36 +1000 Subject: [PATCH 1/3] Add LOC breakdown canvas extension A project-scoped Copilot CLI canvas that breaks down the lines of code changed on the current branch by project/category, sorts by total churn, and tags each category with a heuristic review characterization (mechanical / documentation / detailed / careful). Lives in .github/extensions/loc-breakdown so anyone using Copilot CLI in this repo picks it up automatically. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/extensions/loc-breakdown/README.md | 58 ++ .../extensions/loc-breakdown/extension.mjs | 520 ++++++++++++++++++ 2 files changed, 578 insertions(+) create mode 100644 .github/extensions/loc-breakdown/README.md create mode 100644 .github/extensions/loc-breakdown/extension.mjs diff --git a/.github/extensions/loc-breakdown/README.md b/.github/extensions/loc-breakdown/README.md new file mode 100644 index 00000000000..dfb32fdffbf --- /dev/null +++ b/.github/extensions/loc-breakdown/README.md @@ -0,0 +1,58 @@ +# LOC breakdown canvas extension + +A Copilot CLI canvas extension that shows a breakdown of the lines of code +changed in the current branch, grouped by project/category, with a heuristic +characterization of each group (mechanical / detailed / careful review etc). + +## What it does + +When opened, the canvas: + +1. Resolves the merge-base of the current branch against `origin/HEAD` (or + `main`/`master` as a fallback). +2. Runs `git diff --numstat` between that merge-base and `HEAD`. +3. Groups files into buckets that reflect the Aspire repo layout — each + `src/`, `src/Components/`, `tests/`, + `playground/`, `tools/`, plus catch-all buckets for + `docs`, `eng`, `.github`, the VS Code extension, and `.agents`. +4. Sorts categories by total lines touched (added + removed), descending. +5. Tags each category with a short characterization derived from file types + and the add/remove ratio: + + | Tone | Examples | + |------|----------| + | Mechanical | localization, generated files, snapshots, assets, trivial edits | + | Documentation | `.md`/`.mdx`/`.txt` only | + | Detailed | tests, small additions, moderate edits | + | Careful | CI workflows, significant new code, large removals, big refactors | + +Rows are expandable to show the per-file added/removed counts within a +category. + +## Usage + +In any Copilot CLI session inside this repo, ask the agent to open the +"LOC breakdown" canvas (or any phrasing that implies wanting a per-project +summary of the diff). The canvas has a ↻ Refresh button and a `refresh` +action the agent can invoke to recompute the report. + +Optional inputs when opening the canvas: + +- `cwd` — working directory inside a git repo (defaults to the agent's cwd) +- `base` — base ref to diff against (defaults to `origin/HEAD`) +- `head` — head ref (defaults to `HEAD`) + +## Implementation notes + +- Single-file extension; no dependencies beyond the Node.js standard library + and `@github/copilot-sdk/extension`. +- Spins up a loopback HTTP server on an ephemeral port per canvas instance + and tears it down on close. +- The HTML shell fetches `/data` and renders client-side, so refresh is + cheap and doesn't require restarting the server. + +## Discovery + +Project-scoped extensions in `.github/extensions/` are picked up +automatically by the Copilot CLI for anyone working in this repo — no +install step is required. diff --git a/.github/extensions/loc-breakdown/extension.mjs b/.github/extensions/loc-breakdown/extension.mjs new file mode 100644 index 00000000000..30fe8fe3ae0 --- /dev/null +++ b/.github/extensions/loc-breakdown/extension.mjs @@ -0,0 +1,520 @@ +// Extension: loc-breakdown +// Canvas showing lines-of-code changes grouped by project/category, with a +// heuristic characterization (mechanical / detailed / careful review) per group. + +import { createServer } from "node:http"; +import { execFile } from "node:child_process"; +import { promisify } from "node:util"; +import path from "node:path"; +import { joinSession, createCanvas } from "@github/copilot-sdk/extension"; + +const execFileP = promisify(execFile); +const servers = new Map(); // instanceId -> { server, url, opts } + +// ---------- git plumbing ---------- + +async function git(cwd, args) { + const { stdout } = await execFileP("git", args, { + cwd, + maxBuffer: 64 * 1024 * 1024, + }); + return stdout; +} + +async function detectRepoRoot(cwd) { + try { + return (await git(cwd, ["rev-parse", "--show-toplevel"])).trim(); + } catch { + return cwd; + } +} + +async function detectBase(cwd) { + // Prefer origin/HEAD (the default branch on the remote), then common names. + try { + const out = await git(cwd, ["symbolic-ref", "refs/remotes/origin/HEAD"]); + return out.trim().replace(/^refs\/remotes\//, ""); + } catch { + /* fall through */ + } + for (const ref of ["origin/main", "origin/master", "main", "master"]) { + try { + await git(cwd, ["rev-parse", "--verify", ref]); + return ref; + } catch { + /* try next */ + } + } + return "HEAD~1"; +} + +async function gatherDiff(cwd, base, head) { + let mergeBase; + try { + mergeBase = (await git(cwd, ["merge-base", base, head])).trim(); + } catch { + mergeBase = base; + } + // git diff --numstat outputs: \t\t + // For binary files: "-\t-\tpath". Path may include "{old => new}" for renames. + const out = await git(cwd, ["diff", "--numstat", `${mergeBase}...${head}`]); + const files = []; + for (const rawLine of out.split("\n")) { + const line = rawLine.trimEnd(); + if (!line) continue; + const tabIdx1 = line.indexOf("\t"); + const tabIdx2 = line.indexOf("\t", tabIdx1 + 1); + if (tabIdx1 < 0 || tabIdx2 < 0) continue; + const a = line.slice(0, tabIdx1); + const r = line.slice(tabIdx1 + 1, tabIdx2); + let file = line.slice(tabIdx2 + 1); + // Normalize rename syntax: "a/{old => new}/b" -> "a/new/b", and "old => new" -> "new". + file = file + .replace(/\{[^{}]*=>\s*([^{}]+)\}/g, "$1") + .replace(/^.+\s=>\s/, ""); + files.push({ + path: file, + added: a === "-" ? 0 : parseInt(a, 10) || 0, + removed: r === "-" ? 0 : parseInt(r, 10) || 0, + binary: a === "-" && r === "-", + }); + } + return { mergeBase, files }; +} + +// ---------- categorization ---------- + +// Group files into a meaningful "project" bucket. Tuned for the Aspire repo +// layout but falls back to top-level directory for anything unknown. +function categorize(filePath) { + const p = filePath.replace(/\\/g, "/"); + const parts = p.split("/"); + const top = parts[0]; + if (parts.length === 1) return "(repo root)"; + + if (top === "src") { + // src/Components/Aspire.X.Y/... -> "src/Components/Aspire.X.Y" + if (parts[1] === "Components" && parts.length > 2) { + return `src/Components/${parts[2]}`; + } + return `src/${parts[1]}`; + } + if (top === "tests") { + return `tests/${parts[1]}`; + } + if (top === "playground") { + return `playground/${parts[1]}`; + } + if (top === "tools") { + return `tools/${parts[1]}`; + } + if (top === ".github") return ".github (CI / automation)"; + if (top === "eng") return "eng (build infrastructure)"; + if (top === "docs") return "docs"; + if (top === "extension") return "extension (VS Code)"; + if (top === ".agents") return ".agents (skills)"; + return top; +} + +// ---------- characterization ---------- + +function characterize(files, addRatio, total) { + const reGenerated = /(?:\.Designer\.cs|\.g\.cs|\.generated\.cs|\/api\/.*\.cs|\.xlf)$/i; + const reLoc = /\.(resx|xlf)$/i; + const reDocs = /\.(md|mdx|txt)$/i; + const reCiYaml = /\.github\/.*\.ya?ml$/i; + const reSnapshot = /\.(verified|received)\.[A-Za-z0-9]+$/i; + const reTest = /(?:^|\/)tests?\//i; + const reAssets = /\.(svg|png|jpg|jpeg|gif|webp|ico)$/i; + + const allOf = (pred) => files.length > 0 && files.every(pred); + + if (allOf((f) => reLoc.test(f.path))) { + return { label: "Localization (mechanical)", tone: "mechanical" }; + } + if (allOf((f) => reGenerated.test(f.path) || reLoc.test(f.path))) { + return { label: "Generated files (mechanical)", tone: "mechanical" }; + } + if (allOf((f) => reSnapshot.test(f.path))) { + return { label: "Test snapshots (mechanical)", tone: "mechanical" }; + } + if (allOf((f) => reAssets.test(f.path))) { + return { label: "Assets (visual review)", tone: "mechanical" }; + } + if (allOf((f) => reDocs.test(f.path))) { + return { label: "Documentation (light review)", tone: "docs" }; + } + if (allOf((f) => reCiYaml.test(f.path))) { + return { label: "CI workflows (careful review)", tone: "careful" }; + } + if (allOf((f) => reTest.test(f.path))) { + return { label: "Tests (review for correctness & coverage)", tone: "detailed" }; + } + + if (total <= 10) { + return { label: "Trivial change (quick scan)", tone: "mechanical" }; + } + if (total <= 50) { + if (addRatio > 0.85) return { label: "Small additions (quick review)", tone: "detailed" }; + if (addRatio < 0.15) return { label: "Small cleanup (quick review)", tone: "mechanical" }; + return { label: "Small edit (quick review)", tone: "detailed" }; + } + if (total <= 250) { + if (addRatio > 0.85) return { label: "Net-new code (detailed review)", tone: "detailed" }; + if (addRatio < 0.15) return { label: "Notable removal (detailed review)", tone: "detailed" }; + return { label: "Moderate edit (detailed review)", tone: "detailed" }; + } + // > 250 + if (addRatio > 0.85) return { label: "Significant new code (careful review)", tone: "careful" }; + if (addRatio < 0.15) return { label: "Large removal (careful review)", tone: "careful" }; + return { label: "Significant refactor (careful review)", tone: "careful" }; +} + +// ---------- report build ---------- + +async function buildReport(opts) { + const cwd = await detectRepoRoot(opts.cwd); + const base = opts.base || (await detectBase(cwd)); + const head = opts.head || "HEAD"; + const branch = (await git(cwd, ["rev-parse", "--abbrev-ref", "HEAD"])).trim(); + const { mergeBase, files } = await gatherDiff(cwd, base, head); + + const groups = new Map(); + for (const f of files) { + const cat = categorize(f.path); + if (!groups.has(cat)) groups.set(cat, []); + groups.get(cat).push(f); + } + + const categories = [...groups.entries()].map(([name, fs]) => { + const added = fs.reduce((s, f) => s + f.added, 0); + const removed = fs.reduce((s, f) => s + f.removed, 0); + // git's line-based diff has no real notion of "changed" lines — a modified + // line shows up as 1 added + 1 removed. Approximate "changed" per file as + // min(added, removed), then sum, which is a closer proxy than doing it + // category-wide. + const changed = fs.reduce((s, f) => s + Math.min(f.added, f.removed), 0); + const total = added + removed; + const addRatio = total > 0 ? added / total : 0; + return { + name, + files: fs.length, + added, + removed, + changed, + total, + characterization: characterize(fs, addRatio, total), + filePaths: fs + .slice() + .sort((a, b) => b.added + b.removed - (a.added + a.removed)) + .map((f) => ({ path: f.path, added: f.added, removed: f.removed, binary: f.binary })), + }; + }); + categories.sort((a, b) => b.total - a.total); + + const totals = { + files: files.length, + added: categories.reduce((s, c) => s + c.added, 0), + removed: categories.reduce((s, c) => s + c.removed, 0), + changed: categories.reduce((s, c) => s + c.changed, 0), + }; + + return { + cwd, + branch, + base, + head, + mergeBase, + generatedAt: new Date().toISOString(), + totals, + categories, + }; +} + +// ---------- HTML ---------- + +function renderHtml() { + // The shell fetches /data on load and on refresh; rendering happens client-side. + return ` + + + +LOC breakdown + + + +
+
+

Lines of code changed by category

+
Loading…
+
+ +
+
+
Loading…
+ + + +`; +} + +// ---------- server wiring ---------- + +async function startServer(opts) { + const server = createServer(async (req, res) => { + try { + const url = new URL(req.url, "http://127.0.0.1"); + if (url.pathname === "/data") { + const report = await buildReport(opts); + res.setHeader("Content-Type", "application/json; charset=utf-8"); + res.setHeader("Cache-Control", "no-store"); + res.end(JSON.stringify(report)); + return; + } + res.setHeader("Content-Type", "text/html; charset=utf-8"); + res.setHeader("Cache-Control", "no-store"); + res.end(renderHtml()); + } catch (err) { + res.statusCode = 500; + res.setHeader("Content-Type", "text/plain; charset=utf-8"); + res.end(String(err && err.stack ? err.stack : err)); + } + }); + await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve)); + const address = server.address(); + const port = typeof address === "object" && address ? address.port : 0; + return { server, url: `http://127.0.0.1:${port}/` }; +} + +await joinSession({ + canvases: [ + createCanvas({ + id: "loc-breakdown", + displayName: "LOC breakdown", + description: "Lines of code changed grouped by project/category with review characterization.", + inputSchema: { + type: "object", + properties: { + cwd: { type: "string", description: "Working directory inside the target git repo. Defaults to the canvas process cwd." }, + base: { type: "string", description: "Base ref to diff against. Defaults to origin/HEAD." }, + head: { type: "string", description: "Head ref. Defaults to HEAD." }, + }, + }, + actions: [ + { + name: "refresh", + description: "Recompute the LOC breakdown by re-running git diff and return the latest report as JSON.", + handler: async (ctx) => { + const entry = servers.get(ctx.instanceId); + const opts = entry ? entry.opts : { cwd: process.cwd() }; + const report = await buildReport(opts); + return { + ok: true, + totals: report.totals, + categories: report.categories.map((c) => ({ + name: c.name, + files: c.files, + added: c.added, + removed: c.removed, + changed: c.changed, + characterization: c.characterization.label, + })), + }; + }, + }, + ], + open: async (ctx) => { + const input = ctx.input || {}; + const opts = { + cwd: input.cwd || process.cwd(), + base: input.base, + head: input.head, + }; + let entry = servers.get(ctx.instanceId); + if (!entry) { + const started = await startServer(opts); + entry = { ...started, opts }; + servers.set(ctx.instanceId, entry); + } + return { title: "LOC breakdown", url: entry.url }; + }, + onClose: async (ctx) => { + const entry = servers.get(ctx.instanceId); + if (entry) { + servers.delete(ctx.instanceId); + await new Promise((resolve) => entry.server.close(() => resolve())); + } + }, + }), + ], +}); From 6aa88b403ddfd3a8d31b93907a46fd719f70044d Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 2 Jun 2026 19:07:53 +1000 Subject: [PATCH 2/3] Address review feedback: drop unused import, validate refs - Remove unused 'node:path' import. - Reject user-supplied base/head refs that start with '-' or contain characters outside the safe set, before passing them to git. Prevents option-injection if a caller passes e.g. '--upload-pack=evil' as a ref. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../extensions/loc-breakdown/extension.mjs | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/extensions/loc-breakdown/extension.mjs b/.github/extensions/loc-breakdown/extension.mjs index 30fe8fe3ae0..1c7f60583c0 100644 --- a/.github/extensions/loc-breakdown/extension.mjs +++ b/.github/extensions/loc-breakdown/extension.mjs @@ -5,7 +5,6 @@ import { createServer } from "node:http"; import { execFile } from "node:child_process"; import { promisify } from "node:util"; -import path from "node:path"; import { joinSession, createCanvas } from "@github/copilot-sdk/extension"; const execFileP = promisify(execFile); @@ -21,6 +20,23 @@ async function git(cwd, args) { return stdout; } +// Reject anything that could be parsed by git as an option, contain a path +// traversal into another revision range, or smuggle shell-like control chars. +// git's own rules already forbid most of these in real ref names +// (https://git-scm.com/docs/git-check-ref-format), so this is conservative. +// We allow `A...B` / `A..B` range syntax because callers may pass those. +function assertSafeRef(value, label) { + if (typeof value !== "string" || value.length === 0) { + throw new Error(`${label} must be a non-empty string`); + } + if (value.startsWith("-")) { + throw new Error(`${label} must not start with '-' (looks like a git option): ${value}`); + } + if (!/^[A-Za-z0-9._/@^~+\-]+(\.{2,3}[A-Za-z0-9._/@^~+\-]+)?$/.test(value)) { + throw new Error(`${label} contains characters not allowed in a git ref: ${value}`); + } +} + async function detectRepoRoot(cwd) { try { return (await git(cwd, ["rev-parse", "--show-toplevel"])).trim(); @@ -174,6 +190,8 @@ function characterize(files, addRatio, total) { async function buildReport(opts) { const cwd = await detectRepoRoot(opts.cwd); + if (opts.base !== undefined) assertSafeRef(opts.base, "base"); + if (opts.head !== undefined) assertSafeRef(opts.head, "head"); const base = opts.base || (await detectBase(cwd)); const head = opts.head || "HEAD"; const branch = (await git(cwd, ["rev-parse", "--abbrev-ref", "HEAD"])).trim(); From a4e9395ca0b97f4f74a5744e9838d4e77285c02f Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 2 Jun 2026 19:26:20 +1000 Subject: [PATCH 3/3] Add screenshot of LOC breakdown canvas to README Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/extensions/loc-breakdown/README.md | 2 ++ .github/extensions/loc-breakdown/screenshot.png | Bin 0 -> 68614 bytes 2 files changed, 2 insertions(+) create mode 100644 .github/extensions/loc-breakdown/screenshot.png diff --git a/.github/extensions/loc-breakdown/README.md b/.github/extensions/loc-breakdown/README.md index dfb32fdffbf..0209897b0b6 100644 --- a/.github/extensions/loc-breakdown/README.md +++ b/.github/extensions/loc-breakdown/README.md @@ -4,6 +4,8 @@ A Copilot CLI canvas extension that shows a breakdown of the lines of code changed in the current branch, grouped by project/category, with a heuristic characterization of each group (mechanical / detailed / careful review etc). +![Screenshot of the LOC breakdown canvas](screenshot.png) + ## What it does When opened, the canvas: diff --git a/.github/extensions/loc-breakdown/screenshot.png b/.github/extensions/loc-breakdown/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..61721f58633ef3327d41a8eaa0177119d0527561 GIT binary patch literal 68614 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 literal 0 HcmV?d00001