1:"$Sreact.fragment" 2:I[5965,[],""] 3:I[3609,[],""] 8:I[2207,[],""] :HL["/_next/static/css/335de1248158d380.css","style"] 4:T615,{"@context":"https://schema.org","@type":"CollectionPage","name":"AI coding analytics guides","description":"Read practical guides for tracking Claude Code usage, tracking Codex CLI usage, creating wrapped reports, building activity heatmaps, and sharing aggregate stats.","url":"https://vibestats.wolfai.dev/guides","mainEntity":{"@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"name":"How to track Claude Code usage","url":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"},{"@type":"ListItem","position":2,"name":"How to track Codex CLI usage","url":"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"},{"@type":"ListItem","position":3,"name":"How to create an AI coding wrapped","url":"https://vibestats.wolfai.dev/guides/how-to-create-ai-coding-wrapped"},{"@type":"ListItem","position":4,"name":"How to build an AI activity heatmap","url":"https://vibestats.wolfai.dev/guides/how-to-build-ai-activity-heatmap"},{"@type":"ListItem","position":5,"name":"How to measure AI token costs","url":"https://vibestats.wolfai.dev/guides/how-to-measure-ai-token-costs"},{"@type":"ListItem","position":6,"name":"How to share AI coding stats","url":"https://vibestats.wolfai.dev/guides/how-to-share-ai-coding-stats"},{"@type":"ListItem","position":7,"name":"How to read Claude diagnostics","url":"https://vibestats.wolfai.dev/guides/how-to-read-claude-diagnostics"},{"@type":"ListItem","position":8,"name":"How to compare model usage","url":"https://vibestats.wolfai.dev/guides/how-to-compare-model-usage"}]}}0:{"P":null,"b":"O1feF7gPLeHeL0mJlyXjP","p":"","c":["","guides"],"i":false,"f":[[["",{"children":["guides",{"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":["guides",["$","$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":[["$","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":"$4"}}],"$L5"]}],null,"$L6"]}],{},null,false]},null,false]},null,false],"$L7",false]],"m":"$undefined","G":["$8",[]],"s":false,"S":true} 9:I[4816,["816","static/chunks/816-8960921093d57453.js","6","static/chunks/app/guides/page-08fe89950f57d6cd.js"],""] 11:I[496,[],"OutletBoundary"] 13:I[3737,[],"AsyncMetadataOutlet"] 15:I[496,[],"ViewportBoundary"] 17:I[496,[],"MetadataBoundary"] 18:"$Sreact.suspense" 5:["$","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":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500","children":"Guide library"}],["$","h1",null,{"className":"mt-4 max-w-4xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl","children":"AI coding analytics guides"}],["$","p",null,{"className":"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg","children":"Read practical guides for tracking Claude Code usage, tracking Codex CLI usage, creating wrapped reports, building activity heatmaps, and sharing aggregate stats."}],["$","div",null,{"className":"mt-6 grid gap-3 text-sm text-slate-600 md:grid-cols-3","children":[["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","strong",null,{"className":"block text-slate-950","children":[8," pages"]}],["$","span",null,{"className":"mt-2 block","children":"Built around real vibestats workflows instead of generic SEO filler."}]]}],["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","strong",null,{"className":"block text-slate-950","children":"Internal links"}],["$","span",null,{"className":"mt-2 block","children":"Each page connects to related features, guides, and use cases."}]]}],["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","strong",null,{"className":"block text-slate-950","children":"Search intent"}],["$","span",null,{"className":"mt-2 block","children":"Every page is focused on one product or reporting question."}]]}]]}]]}],["$","section",null,{"className":"mt-6 grid gap-4 md:grid-cols-2 xl:grid-cols-3","children":[["$","$L9","how-to-track-claude-code-usage",{"href":"/guides/how-to-track-claude-code-usage","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to track Claude Code usage"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to tracking Claude Code usage locally with vibestats."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Start with daily usage, then refine",{"children":"Start with daily usage, then refine"}],["$","li","Model and session views answer different follow-up questions",{"children":"Model and session views answer different follow-up questions"}],["$","li","Diagnostics help when the totals look confusing",{"children":"Diagnostics help when the totals look confusing"}]]}]]}],["$","$L9","how-to-track-codex-cli-usage",{"href":"/guides/how-to-track-codex-cli-usage","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to track Codex CLI usage"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."}],"$La"]}],"$Lb","$Lc","$Ld","$Le","$Lf","$L10"]}]]}] 6:["$","$L11",null,{"children":["$L12",["$","$L13",null,{"promise":"$@14"}]]}] 7:["$","$1","h",{"children":[null,[["$","$L15",null,{"children":"$L16"}],null],["$","$L17",null,{"children":["$","div",null,{"hidden":true,"children":["$","$18",null,{"fallback":null,"children":"$L19"}]}]}]]}] a:["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Codex works best as its own first view",{"children":"Codex works best as its own first view"}],["$","li","Total and session views answer different questions",{"children":"Total and session views answer different questions"}],["$","li","Combined reporting is a second step, not the first",{"children":"Combined reporting is a second step, not the first"}]]}] b:["$","$L9","how-to-create-ai-coding-wrapped",{"href":"/guides/how-to-create-ai-coding-wrapped","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to create an AI coding wrapped"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to generating a wrapped-style AI coding recap with vibestats."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Wrapped is the best narrative recap view",{"children":"Wrapped is the best narrative recap view"}],["$","li","Quiet mode is useful for share-first workflows",{"children":"Quiet mode is useful for share-first workflows"}],["$","li","Heatmaps complement wrapped, not replace it",{"children":"Heatmaps complement wrapped, not replace it"}]]}]]}] c:["$","$L9","how-to-build-ai-activity-heatmap",{"href":"/guides/how-to-build-ai-activity-heatmap","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to build an AI activity heatmap"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to generating a GitHub-style AI coding activity heatmap with vibestats."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Heatmaps are best for rhythm and consistency",{"children":"Heatmaps are best for rhythm and consistency"}],["$","li","Metric choice changes the story",{"children":"Metric choice changes the story"}],["$","li","Hosted pages are easier to reuse in updates",{"children":"Hosted pages are easier to reuse in updates"}]]}]]}] d:["$","$L9","how-to-measure-ai-token-costs",{"href":"/guides/how-to-measure-ai-token-costs","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to measure AI token costs"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to measuring token volume and estimated cost in vibestats."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Totals are the cleanest starting point",{"children":"Totals are the cleanest starting point"}],["$","li","Tokens and cost are related but not identical",{"children":"Tokens and cost are related but not identical"}],["$","li","Model views help explain cost shifts",{"children":"Model views help explain cost shifts"}]]}]]}] e:["$","$L9","how-to-share-ai-coding-stats",{"href":"/guides/how-to-share-ai-coding-stats","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to share AI coding stats"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to turning local vibestats output into shareable aggregate pages."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Share the surface that fits the audience",{"children":"Share the surface that fits the audience"}],["$","li","Aggregate pages are better than screenshots",{"children":"Aggregate pages are better than screenshots"}],["$","li","Stored share pages are better than legacy payload URLs",{"children":"Stored share pages are better than legacy payload URLs"}]]}]]}] f:["$","$L9","how-to-read-claude-diagnostics",{"href":"/guides/how-to-read-claude-diagnostics","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to read Claude diagnostics"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to using vibestats Claude diagnostics commands for local state and limit clues."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Diagnostics complement usage reports",{"children":"Diagnostics complement usage reports"}],["$","li","Best used when something looks off",{"children":"Best used when something looks off"}],["$","li","Local file visibility beats guesswork",{"children":"Local file visibility beats guesswork"}]]}]]}] 10:["$","$L9","how-to-compare-model-usage",{"href":"/guides/how-to-compare-model-usage","className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] transition hover:-translate-y-0.5 hover:border-orange-300","children":[["$","p",null,{"className":"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Guide"}],["$","h2",null,{"className":"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950","children":"How to compare model usage"}],["$","p",null,{"className":"mt-4 text-sm leading-7 text-slate-600","children":"A practical guide to comparing AI model usage in vibestats across reporting windows and source scopes."}],["$","ul",null,{"className":"mt-5 space-y-2 text-sm leading-6 text-slate-600","children":[["$","li","Stable windows matter more than perfect totals",{"children":"Stable windows matter more than perfect totals"}],["$","li","Model share is easier to read when grouped directly",{"children":"Model share is easier to read when grouped directly"}],["$","li","Source context helps interpret model shifts",{"children":"Source context helps interpret model shifts"}]]}]]}] 16:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 12:null 14:{"metadata":[["$","title","0",{"children":"Guides | vibestats"}],["$","meta","1",{"name":"description","content":"Read practical guides for tracking Claude Code usage, tracking Codex CLI usage, creating wrapped reports, building activity heatmaps, and sharing aggregate stats."}],["$","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,Claude Code usage guide,Codex CLI usage guide,AI coding analytics guide"}],["$","link","4",{"rel":"canonical","href":"https://vibestats.wolfai.dev/guides"}],["$","meta","5",{"property":"og:title","content":"Guides | vibestats"}],["$","meta","6",{"property":"og:description","content":"Read practical guides for tracking Claude Code usage, tracking Codex CLI usage, creating wrapped reports, building activity heatmaps, and sharing aggregate stats."}],["$","meta","7",{"property":"og:url","content":"https://vibestats.wolfai.dev/guides"}],["$","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":"Guides | vibestats"}],["$","meta","13",{"name":"twitter:description","content":"Read practical guides for tracking Claude Code usage, tracking Codex CLI usage, creating wrapped reports, building activity heatmaps, and sharing aggregate stats."}]],"error":null,"digest":"$undefined"} 19:"$14:metadata"