1:"$Sreact.fragment" 2:I[5965,[],""] 3:I[3609,[],""] 5:I[496,[],"OutletBoundary"] 7:I[3737,[],"AsyncMetadataOutlet"] 9:I[496,[],"ViewportBoundary"] b:I[496,[],"MetadataBoundary"] c:"$Sreact.suspense" e:I[2207,[],""] :HL["/_next/static/css/335de1248158d380.css","style"] 0:{"P":null,"b":"O1feF7gPLeHeL0mJlyXjP","p":"","c":["","features","ai-coding-activity-heatmap"],"i":false,"f":[[["",{"children":["features",{"children":[["slug","ai-coding-activity-heatmap","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/335de1248158d380.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":null}],["$","body",null,{"className":"antialiased min-h-screen bg-background text-foreground","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["features",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","ai-coding-activity-heatmap","d"],["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L4",null,["$","$L5",null,{"children":["$L6",["$","$L7",null,{"promise":"$@8"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L9",null,{"children":"$La"}],null],["$","$Lb",null,{"children":["$","div",null,{"hidden":true,"children":["$","$c",null,{"fallback":null,"children":"$Ld"}]}]}]]}],false]],"m":"$undefined","G":["$e",[]],"s":false,"S":true} 10:I[4816,["816","static/chunks/816-8960921093d57453.js","180","static/chunks/app/features/%5Bslug%5D/page-08fe89950f57d6cd.js"],""] f:T636,[{"@context":"https://schema.org","@type":"WebPage","name":"AI coding activity heatmap","description":"Generate GitHub-style activity heatmaps for Claude Code and Codex CLI usage with streaks and rolling totals.","url":"https://vibestats.wolfai.dev/features/ai-coding-activity-heatmap","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Features","item":"https://vibestats.wolfai.dev/features"},{"@type":"ListItem","position":3,"name":"AI coding activity heatmap","item":"https://vibestats.wolfai.dev/features/ai-coding-activity-heatmap"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can vibestats help with ai coding activity heatmap?","acceptedAnswer":{"@type":"Answer","text":"Yes. vibestats is built to support ai coding activity heatmap with local reporting, aggregate pages, and command-line workflows."}},{"@type":"Question","name":"Does this stay local?","acceptedAnswer":{"@type":"Answer","text":"Yes. vibestats is local-first. Prompts and responses stay out of the hosted pages unless you intentionally publish aggregate share output."}},{"@type":"Question","name":"Where should I start?","acceptedAnswer":{"@type":"Answer","text":"Start with the command reference, then use the related links below to jump into wrapped reports, activity heatmaps, share pages, or diagnostics."}}]}]4:["$","main",null,{"className":"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12","children":[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"$f"}}],["$","div",null,{"className":"mx-auto max-w-7xl","children":[["$","header",null,{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden","children":[["$","div",null,{"className":"flex flex-wrap items-center gap-3 text-sm text-slate-500","children":[["$","$L10",null,{"href":"/","className":"transition hover:text-orange-700","children":"vibestats"}],["$","span",null,{"children":"/"}],["$","$L10",null,{"href":"/features","className":"transition hover:text-orange-700","children":"Features"}],["$","span",null,{"children":"/"}],["$","span",null,{"className":"text-slate-700","children":"AI coding activity heatmap"}]]}],["$","p",null,{"className":"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500","children":"Feature"}],["$","h1",null,{"className":"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl","children":"AI coding activity heatmap"}],["$","p",null,{"className":"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg","children":"Generate GitHub-style activity heatmaps for Claude Code and Codex CLI usage with streaks and rolling totals."}],["$","div",null,{"className":"mt-6 grid gap-3 md:grid-cols-3","children":[["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Intent"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":"Feature"}]]}],["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":["$L11","$L12"]}],"$L13"]}]]}],"$L14",null,null,"$L15","$L16","$L17"]}]]}] 11:["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Focus"}] 12:["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":"AI coding activity heatmap in vibestats is designed for people who want a visual activity surface instead of only tables and totals."}] 13:["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Next step"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":["$","$L10",null,{"href":"/docs/commands","className":"text-slate-900 transition hover:text-orange-700","children":"Open the command reference"}]}]]}] 14:["$","section",null,{"className":"mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]","children":[["$","article",null,{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Highlights"}],["$","ul",null,{"className":"mt-4 space-y-3 text-sm leading-7 text-slate-600","children":[["$","li","GitHub-style calendar view",{"children":"GitHub-style calendar view"}],["$","li","Recent totals and streaks in the same surface",{"children":"Recent totals and streaks in the same surface"}],["$","li","Useful for weekly and monthly retrospectives",{"children":"Useful for weekly and monthly retrospectives"}]]}]]}],["$","article",null,{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Relevant commands"}],["$","div",null,{"className":"mt-4 grid gap-3","children":[["$","code","npx vibestats --activity",{"className":"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700","children":"npx vibestats --activity"}],["$","code","npx vibestats --activity --metric sessions",{"className":"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700","children":"npx vibestats --activity --metric sessions"}],["$","code","npx vibestats --activity --days 365",{"className":"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700","children":"npx vibestats --activity --days 365"}]]}]]}]]}] 15:["$","section",null,{"className":"mt-6 grid gap-4 md:grid-cols-2","children":[["$","article","What ai coding activity heatmap means",{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","h2",null,{"className":"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"What ai coding activity heatmap means"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"AI coding activity heatmap is about getting a clear, local view of AI coding activity without building custom spreadsheets or one-off scripts."}]]}],["$","article","Who this is for",{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","h2",null,{"className":"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"Who this is for"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"People who want a visual activity surface instead of only tables and totals."}]]}],["$","article","How vibestats handles it",{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","h2",null,{"className":"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How vibestats handles it"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"vibestats turns aggregate local usage into a calendar heatmap with daily intensity, streaks, totals, and model context that works as a page and image-friendly share artifact."}]]}],["$","article","What you get back",{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","h2",null,{"className":"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"What you get back"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"You can spot consistency, recovery periods, high-output weeks, and recent momentum without reading a dense terminal report."}]]}]]}] 16:["$","section",null,{"className":"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"FAQ"}],["$","div",null,{"className":"mt-4 grid gap-4 md:grid-cols-2","children":[["$","article","Can vibestats help with ai coding activity heatmap?",{"className":"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-950","children":"Can vibestats help with ai coding activity heatmap?"}],["$","p",null,{"className":"mt-3 text-sm leading-7 text-slate-600","children":"Yes. vibestats is built to support ai coding activity heatmap with local reporting, aggregate pages, and command-line workflows."}]]}],["$","article","Does this stay local?",{"className":"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-950","children":"Does this stay local?"}],["$","p",null,{"className":"mt-3 text-sm leading-7 text-slate-600","children":"Yes. vibestats is local-first. Prompts and responses stay out of the hosted pages unless you intentionally publish aggregate share output."}]]}],["$","article","Where should I start?",{"className":"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5","children":[["$","h2",null,{"className":"text-lg font-semibold text-slate-950","children":"Where should I start?"}],["$","p",null,{"className":"mt-3 text-sm leading-7 text-slate-600","children":"Start with the command reference, then use the related links below to jump into wrapped reports, activity heatmaps, share pages, or diagnostics."}]]}]]}]]}] 17:["$","section",null,{"className":"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]","children":[["$","div",null,{"className":"flex items-center justify-between gap-4","children":[["$","div",null,{"children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Related pages"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"Continue by intent"}]]}],["$","$L10",null,{"href":"/features","className":"text-sm font-medium text-slate-700 transition hover:text-orange-700","children":["View all ","features"]}]]}],["$","div",null,{"className":"mt-5 grid gap-4 md:grid-cols-3","children":[["$","$L10","/guides/how-to-build-ai-activity-heatmap",{"href":"/guides/how-to-build-ai-activity-heatmap","className":"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white","children":[["$","span",null,{"className":"block font-semibold text-slate-950","children":"guides how-to-build-ai-activity-heatmap"}],["$","span",null,{"className":"mt-2 block","children":"Open the related vibestats page and continue the workflow from there."}]]}],["$","$L10","/compare/wrapped-vs-activity-heatmap",{"href":"/compare/wrapped-vs-activity-heatmap","className":"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white","children":[["$","span",null,{"className":"block font-semibold text-slate-950","children":"compare wrapped-vs-activity-heatmap"}],["$","span",null,{"className":"mt-2 block","children":"Open the related vibestats page and continue the workflow from there."}]]}],["$","$L10","/use-cases/weekly-reviews",{"href":"/use-cases/weekly-reviews","className":"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white","children":[["$","span",null,{"className":"block font-semibold text-slate-950","children":"use-cases weekly-reviews"}],["$","span",null,{"className":"mt-2 block","children":"Open the related vibestats page and continue the workflow from there."}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 6:null 8:{"metadata":[["$","title","0",{"children":"AI coding activity heatmap | vibestats"}],["$","meta","1",{"name":"description","content":"Generate GitHub-style activity heatmaps for Claude Code and Codex CLI usage with streaks and rolling totals."}],["$","meta","2",{"name":"application-name","content":"vibestats"}],["$","meta","3",{"name":"keywords","content":"vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,AI coding activity heatmap,Claude Code activity heatmap,Codex activity heatmap"}],["$","link","4",{"rel":"canonical","href":"https://vibestats.wolfai.dev/features/ai-coding-activity-heatmap"}],["$","meta","5",{"property":"og:title","content":"AI coding activity heatmap | vibestats"}],["$","meta","6",{"property":"og:description","content":"Generate GitHub-style activity heatmaps for Claude Code and Codex CLI usage with streaks and rolling totals."}],["$","meta","7",{"property":"og:url","content":"https://vibestats.wolfai.dev/features/ai-coding-activity-heatmap"}],["$","meta","8",{"property":"og:site_name","content":"vibestats"}],["$","meta","9",{"property":"og:locale","content":"en_US"}],["$","meta","10",{"property":"og:type","content":"website"}],["$","meta","11",{"name":"twitter:card","content":"summary"}],["$","meta","12",{"name":"twitter:title","content":"AI coding activity heatmap | vibestats"}],["$","meta","13",{"name":"twitter:description","content":"Generate GitHub-style activity heatmaps for Claude Code and Codex CLI usage with streaks and rolling totals."}]],"error":null,"digest":"$undefined"} d:"$8:metadata"