vance
root.mvm@gmail.com
90d · built 2026-05-28
90-day totals
- Commits
- 86
- Grow
- 7.8
- Maintenance
- 3.1
- Fixes
- 0.5
- Total ETV
- 11.4
30-day trajectory
Last 30 days vs. the 30 days before. Up arrows on Growth and ETV mean improvement; up arrow on Fixes share means more time on fixes (worse).
Daily performance
Daily ETV, stacked by Growth, Maintenance and Fixes.
Work-mix over time
Share of Growth / Maintenance / Fixes over a rolling 7-day window. Reads as 'where is effort flowing right now'.
Bug flow over time
Monthly bug flow attributed to this developer. The left bar (red) is bug impact this dev authored that was addressed in the given month — combining bugs others fixed for them and bugs they fixed themselves. The right bar is fixes they personally shipped that month, split between self-fixes (overlap with the red bar) and fixes done for someone else. X-axis is fix-time, not introduction-time — the Navigara API attributes bugs backward to the author at the moment the fix lands.
- Self-fix share
- 6%
- Bugs you introduced
- 0.0
- Bugs you fixed
- 0.5
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
| Repo | Commits | ETV |
|---|---|---|
| cloudflare-docs | 78 | 11.4 |
Most impactful commits
Top 20 by ETV in the 90-day window.
- 5.6ETVfeat: Add AI agent setup directory (#30115) * first pass * ui improvements * Add agent-setup homepage section with illustration * Replace agents illustration with combined SVG, adjust sizing * agent-setup page overhaul * agent specific pages improvements * fix: add primary_type field to AgentData type and schema * chore: fix prettier formatting in agent-setup.css * claude code improvements * first pass using mdx for agent files * finalize switch to mdx * fix troubleshooting UI * mobile ui * format * codex changes * first content accuracy pass * compare agents table improvements * increase space between sections on agent-setup page * fix * address bonk * feedback * formatting * feat: swap homepage section order — agent setup before Build with Cloudflare * Add agent-setup directory entry for llms.txt and Algolia indexinggithub.com-cloudflare-cloudflare-docs · b5858c4a · 2026-04-23
- 0.7ETVfeat: extend prettier plugin to preserve more mdx components (#29819)github.com-cloudflare-cloudflare-docs · a8ca4e0a · 2026-04-16
- 0.5ETVfeat: add Flue spam and off-topic filter agent (#30832) * chore: ignore .worktrees/ directory * Revert "chore: ignore .worktrees/ directory" This reverts commit 4c311f351c244e78bb448e8df9407b289a92ad9f. * feat: add Flue spam-filter agent for GitHub issues and PRs * chore: rename Flue spam and off-topic filter * fix: address Flue filter review feedback * just-bash is needed by flue * add observability * deploy should sync skills * add logging to spam agent * add more loggings * disable invocation logs * enable traces * better log messages * disable traces * fix eslint * ignore flue dist in eslint * add urls to more logs * fix: isolate Flue filter sessions * fix: improve Flue orchestrator verdict logs * chore: migrate Flue to 0.7, add flue.config.ts, fix local dev * [Flue] Handle reopened and ready_for_review events in spam filter * chore: fix prettier formatting in orchestrate.ts * [Flue] Comment out low-value webhook received/ignored logs * [Flue] Add spam/off-topic labels when closing issues and PRs * chore: remove unused agents dependency * chore: restore agents dependency (required by Flue generated entry)github.com-cloudflare-cloudflare-docs · 71b09d2a · 2026-05-19
- 0.3ETVchore: consolidate agent skills and create shared style guide references (#30735) * chore: consolidate agent skills and create shared style guide references - Add .agents/references/style-guide.md — canonical writing and formatting rules - Add .agents/references/components.md — full MDX component catalog with props - Add .agents/references/procedures.md — step-writing rules for how-tos and tutorials - Update changelog, docs-review skills to reference shared style guide - Remove content-rules.md (content merged into shared reference) - Fix changelog skill code examples section (WranglerConfig/TypeScriptExample rules) - Fix docs-review quick-reference table (adds PackageManagers row, removes duplicates) - Rename verify-dependabot-pr → dependabot-review - Remove npm-to-pnpm skill (outdated) - Update AGENTS.md: remove duplicated component docs, add skills/references index, fix description field annotation * chore: add missing components to agent reference (Badge, Card, YouTube, Stream, APIRequest, CURL, WranglerCommand, Markdown) * chore: add prebuild check to keep components.md in sync with style guide pages * chore: document all remaining components in agent reference, remove exclusion list from check script * chore: move component docs check to CI pre-build step, not package.json prebuild * fix: format check-component-docs.ts, add formatting reminder to AGENTS.md * chore: remove circular reference from components.md * chore: add bidirectional sync check for component docs, add missing styleGuide.component to badges.mdx * fix: remove confusing WranglerConfig carve-out from code-review skillgithub.com-cloudflare-cloudflare-docs · dc6d3ce5 · 2026-05-12
- 0.3ETVfeat: improve copy button UX with checkmark feedback and tippy tooltips (#30441) * feat: replace copy button feedback tooltip with checkmark icon, add tippy tooltips to copy buttons - Swap 'Copied!' feedback tooltip on EC code blocks for a checkmark icon - Add tippy.js tooltips to EC copy buttons and PackageManagers copy button - Standardize copy/check icons to Phosphor Regular across EC and PackageManagers - Extract tippy.css overrides from Head.astro into src/styles/tippy.css - Consolidate agent-setup components to use addTooltip() util - Migrate AgentsToolkit tooltips from custom portal impl to tippy * adjust font size * add important to tippy css properties * copy agent-toolkit list styles from TOC * icon button fixes * chore: clean up AgentsToolkit list item and icon button styles - Match TOC link style (sidebar-text colors, py-1.5, leading-snug) - Remove pointless div wrapper from IconButton - Replace sr-only span with aria-label, add aria-hidden to icon - Fix Prettier formatting * fix: guard against double init of tippy instances on page load * fix: remove copy button click listeners on cleanup to prevent accumulationgithub.com-cloudflare-cloudflare-docs · 9a75a211 · 2026-04-29
- 0.3ETVperf: reduce Workers AI model page HTML payload size (#30350) * perf: reduce Workers AI model page HTML size - Add ModelCardData type: slim projection of ResolvedModel that excludes schema, apiModes, codeSnippets, examples, and metadata fields - Strip ~1.76 MB of unused JSON Schema data from ModelCatalog island props on /workers-ai/models/ and /ai/models/ index pages (catalog only needs name, task, description, properties, and a handful of scalars for filtering/rendering — never the full schema) - Change client:load to client:visible on SchemaTree/SchemaVariantSelector islands so React hydration is deferred until the schema section scrolls into view (it is below the fold on every detail page) - Deduplicate input schema serialisation on multi-mode model pages: when sync and streaming modes share identical input, render the input schema once and show per-mode output sections, eliminating ~145 KB of duplicate SchemaRowData props per affected detail page * perf: serve model JSON schemas as static files, remove Code bloat Replace the 'API Schemas (Raw)' section's syntax-highlighted <Code> blocks with static .json endpoints and a compact link UI. The <Code> components were inflating 227 KB of raw JSON into ~1.95 MB of syntax-highlighted HTML (8.6x ratio) via Expressive Code span wrapping. On models with multiple API modes (sync/streaming/batch), the same schema was rendered multiple times, pushing detail pages to ~3.1 MB. Changes: - Extract detectApiModes() from model-resolver.ts into model-schema.ts so it can be shared without pulling in Astro's getCollection - Add src/pages/workers-ai/models/[...schema].json.ts: generates static JSON endpoints per model per schema (sync-input.json, sync-output.json, streaming-input.json, etc.) for all legacy models (~220 files) - Add src/pages/ai/models/[...schema].json.ts: same for catalog models, handling multi-segment slugs (e.g. /ai/models/openai/gpt-5.4-mini/schema-input.json) - Replace Code blocks in ModelDetailPage.astro with a 2-column card grid linking to the .json endpoints, each card having square open/download icon buttons Expected result: ~3.1 MB -> ~1.15 MB on gemma detail page * chore: fix prettier formatting in model-properties.tsgithub.com-cloudflare-cloudflare-docs · 8bd170c5 · 2026-04-27
- 0.3ETV[agent-setup] Follow-ups: Manifest-driven Skills/MCP lists, static PlatformAccessSection (#30245) * feat: add Cloudflare tools banner to agent setup page * feat: link MCP Code Mode to GitHub repo in tools banner * [agent-setup] Drive Skills and MCP lists from middlecache manifests - Add cloudflare-skills-manifest and cloudflare-mcp-server-card content collections backed by middlecacheLoader with custom parsers - Add Zod schemas for both collections - Rewrite SkillsList.astro to use getCollection instead of hardcoded array - Rewrite McpServerList.astro to use getEntry and derive server names from remote URLs; descriptions remain locally maintained - Remove Tools for agents section and CloudflareToolsBanner from index - Link Cloudflare Skills and MCP servers in the lede to their GitHub repos * [agent-setup] Fully static PlatformAccessSection, drive MCP list from mcps-manifest - Switch cloudflare-mcp-server-card collection to cloudflare-mcps-manifest, backed by v1/cloudflare-mcps/mcps-manifest.json — names and descriptions now come from the manifest with no local hardcoding - Pin Code Mode server first in McpServerList with a 'code mode' chip - Add MCP server URLs to the list UI - PlatformAccessSection is now a zero-prop, zero-slot static component; all per-agent wrangler/docs/skills slot content removed - All six agent pages reduced to <PlatformAccess /> - Clarify Code Mode vs domain-specific servers in MCP section copy - Remove agentName interpolations throughout * chore: fix CSS formattinggithub.com-cloudflare-cloudflare-docs · fdb21375 · 2026-04-23
- 0.3ETVfeat: add agent setup prompt for AI agent onboarding (#30281) * feat: add agent setup prompt for AI agent onboarding - Add src/content/agent-setup/prompt.md as single source of truth for agent instructions (install Skills, MCP servers, and find next steps) - Serve prompt as text/markdown at /agent-setup/prompt.md via Astro API endpoint - Override Starlight SkipLink slot to inject hidden data-agent-instructions div as first child of <body> on /agent-setup/ only - Add Accept: text/markdown content negotiation to worker for /agent-setup route, proxying to /agent-setup/prompt.md - Inject HTML stop directive as preamble in the hidden div only, keeping the markdown prompt clean * feat: global skills install and restart prompt for MCP servers * feat: per-agent MCP config paths, global skills, fix OAuth note * feat: improve agent setup prompt UX and fix opencode mcp install * feat: add restart and auth instructions to setup completion block * feat: move restart notice inside ascii block * feat: add per-agent MCP auth commands inline with install steps * fix: remove claude mcp auth, OAuth triggers on first tool call for Claude Code * feat: update agent setup with plugin installs, new MCP servers, and refreshed prompts * feat: include remaining agent setup component and page changes * [agent-setup] revamp homepage copy block and /agent-setup index page - Add PromptCopyBlock component with dark terminal-style UI, copy button, and icon swap on success - Add two-path card layout to /agent-setup/ (Quick setup vs Manual setup) with orange border on quick path card - Remove agent directive hidden div from SkipLink.astro - Remove content negotiation for /agent-setup from worker/index.ts - Update homepage agent section: copy block, secondary link, drop SVG on small screens, rework CTA text * [agent-setup] polish copy block, homepage logos, and path cards - Two-path card layout on /agent-setup/: Quick setup (orange border) vs Manual setup, responsive with flex wrap at 1000px - PromptCopyBlock: remove animation, fix copy button click handler, no-select on text, copy/copied label swap, overflow/truncation fixes - Homepage: smaller logos (60px), gap spacing, remove justify-between, tighten secondary link spacing, pcb-root margin overrides * fix: prettier formatting and homepage agent section margin * [agent-setup] light mode fixes and copy block polish - PromptCopyBlock: theme-aware colors for light mode (no more hardcoded dark) - Remove glow, add subtle orange box-shadow that increases on hover/copied - Fix copy button colors, green copied state, text color via CSS vars - Homepage: even section margin, normal text size/color for secondary link * [agent-setup] increase homepage agent section top/bottom margin * [agent-setup] copy block light/dark mode background and dot polish * chore: remove unnecessary SkipLink override and astro.config registrationgithub.com-cloudflare-cloudflare-docs · 0282107f · 2026-04-27
- 0.3ETVHandle index.md redirects to preserve markdown format (#29250) * Handle index.md redirects to preserve markdown format * Filter external redirects from llms.txt and resolve redirect paths * abstract reused codegithub.com-cloudflare-cloudflare-docs · 4edd0994 · 2026-03-24
- 0.2ETVUse Markdown for Agents for all docs markdown generation (#28921) * first pass refactor * handle redirect in code, not cloudflare rules * use style guide as example for markdown pages * removed application handling on index.md * update llms.txt to not use index.md by default * copy edits * copy edit * llms.txt improvements * dont use MFA abbreviation * fix llms.txt spacing issue * add back removed test * Use correct url for llms.txt and markdown files * remove duplicate llms.txt entries * use index.md links in llms.txt * llms.txt block quote updates * use a better example url in ai tooling page * add index.md to starlightLinksValidator exclude * Update astro.config.ts Co-authored-by: ask-bonk[bot] <249159057+ask-bonk[bot]@users.noreply.github.com> * Update src/pages/llms.txt.ts Co-authored-by: ask-bonk[bot] <249159057+ask-bonk[bot]@users.noreply.github.com> * Fix llms.txt section labels sometimes being incorrect --------- Co-authored-by: ask-bonk[bot] <249159057+ask-bonk[bot]@users.noreply.github.com>github.com-cloudflare-cloudflare-docs · 3eddc362 · 2026-03-16
- 0.2ETVfix: preserve dots in directory collection entry IDs and update 1.1.1.1 products frontmatter (#30050) * fix: preserve dots in directory collection entry IDs The glob loader uses github-slugger to generate entry IDs, which strips dots from filenames. This means 1.1.1.1.yaml gets stored with ID '1111' rather than '1.1.1.1', causing getEntries() to return undefined when frontmatter references products: [1.1.1.1]. Add a custom generateId to the directory collection that strips only the file extension, preserving the filename as-is. 1.1.1.1 is the only directory entry whose filename differs from its slugified form. Also add products: - 1.1.1.1 (and missing descriptions) to all 38 pages under src/content/docs/1.1.1.1/ so the product is correctly associated for search metadata, tutorial cross-listing, and the /resources filter. * add back products fieldgithub.com-cloudflare-cloudflare-docs · da1e525c · 2026-04-24
- 0.2ETVUse pnpm (#29624) * use pnpm * use v5 pnpm actions * devEngines tweaks * update lock file * add unist-util-visit-parents which was only working before as a transative property * more transitive dependencies * more transitive deps * add builtDependencies * use only node 24 * update pnpm lock * Another transitive dep * skip install of reviewdog/action-eslint * more transitive deps and * workaround for reviewdog action that uses npm internally * add .astro to .prettierignore * fix format checks * pnpm dlx tsm * use pnpm exec in actions where we would otherwise need to use local dependencies * pin tsm dependency * specify pnpm v10 in workflows to match devEngines * test lint annotations * check format check fail * replace remaining pnpx * revert formatting check error * remove only-allow from dependencies * update pnpm lock * fix an npx we missed * remove devEngines.packageManager * update relevant docs/comments with pnpm * update npm-to-pnpm skill to install pnpm and remove package-lock * use --frozen-lockfile in npm-to-pnpm skillgithub.com-cloudflare-cloudflare-docs · c9c5b4ef · 2026-04-22
- 0.2ETVfeat: implement WebMCP API to expose site tools to AI agents (#30208) * feat: implement WebMCP API to expose site tools to AI agents * chore: fix prettier formatting on webmcp files * refactor: extract Algolia constants to src/util/algolia.ts * formattinggithub.com-cloudflare-cloudflare-docs · f3f896fc · 2026-04-23
- 0.1ETVchore: add CODEOWNERS check action and auto-triage Bonk job (#30743) * chore: add CODEOWNERS check action and auto-triage Bonk job * chore: fix prettier formatting in check-codeowner action * chore: add explicit permissions to check-codeowner job * Update .github/actions/check-codeowner/index.ts Co-authored-by: ask-bonk[bot] <249159057+ask-bonk[bot]@users.noreply.github.com> * fix: prettier-compatible regex and literal newline in check-codeowner action --------- Co-authored-by: ask-bonk[bot] <249159057+ask-bonk[bot]@users.noreply.github.com>github.com-cloudflare-cloudflare-docs · 808c62e3 · 2026-05-12
- 0.1ETVrespect robots.txt in llms.txt generation (#29230)github.com-cloudflare-cloudflare-docs · e8108e9d · 2026-03-23
- 0.1ETVfeat: custom prettier plugin to correctly format inline MDX components (#29770)github.com-cloudflare-cloudflare-docs · 20be2500 · 2026-04-13
- 0.1ETVchore: pin GitHub Actions to commit SHAs (#29583) Pins all third-party and GitHub-owned actions to immutable commit SHAs with inline version comments for readability. ask-bonk intentionally remains on @main as it is actively developed and frequently updated.github.com-cloudflare-cloudflare-docs · 33bb1838 · 2026-04-03
- 0.1ETV[DNS] Fix footnotes inside Tabs panels generating duplicate headings (#30459) * [DNS] Fix footnotes inside Tabs panels generating duplicate headings Convert [^n] footnotes in internal-zones-conditions and internal-dns-view-conditions partials to plain text <sup> footnotes. Adds semgrep rule to catch [^n] syntax inside <Tabs> blocks, and updates the footnotes style guide page with a caution against this pattern. * renumber footnote 20 -> 1github.com-cloudflare-cloudflare-docs · f433a8ba · 2026-04-30
- 0.1ETVfix: link validation failures for fork PRs (#29823)github.com-cloudflare-cloudflare-docs · ceee490a · 2026-04-13
- 0.1ETVImprove llms.txt documentation and sidebar LLM Resources (#29450) * cleanup sidebar * fix headers * Update AgentDirective comment to clarify markdown visibility * Add explicit type annotations and replace Object.groupBy with Map * Update llms.txt documentation with clearer guidance and reorder methods * Remove Developer platform condition from llms resources sidebargithub.com-cloudflare-cloudflare-docs · 9c82f1bf · 2026-03-30