1:"$Sreact.fragment" 2:I[3361,["619","static/chunks/619-ba102abea3e3d0e4.js","558","static/chunks/app/layout-8ed3165a2efc4aed.js"],"default"] 3:I[8320,["619","static/chunks/619-ba102abea3e3d0e4.js","558","static/chunks/app/layout-8ed3165a2efc4aed.js"],"default"] 4:I[9766,[],""] 5:I[8924,[],""] 6:I[2619,["619","static/chunks/619-ba102abea3e3d0e4.js","29","static/chunks/app/guides/stemcode-cpp-developers/page-0aa623f29d826b1a.js"],""] 7:I[9526,["619","static/chunks/619-ba102abea3e3d0e4.js","558","static/chunks/app/layout-8ed3165a2efc4aed.js"],"default"] 8:I[1503,["619","static/chunks/619-ba102abea3e3d0e4.js","558","static/chunks/app/layout-8ed3165a2efc4aed.js"],"default"] 9:I[2067,["619","static/chunks/619-ba102abea3e3d0e4.js","558","static/chunks/app/layout-8ed3165a2efc4aed.js"],"default"] a:I[271,["619","static/chunks/619-ba102abea3e3d0e4.js","558","static/chunks/app/layout-8ed3165a2efc4aed.js"],"default"] f:I[7150,[],""] :HL["/_next/static/css/a106fc8500d469f6.css","style"] 0:{"P":null,"b":"52mZGPOTbZG1yQUVMfwha","p":"","c":["","guides","stemcode-cpp-developers"],"i":false,"f":[[["",{"children":["guides",{"children":["stemcode-cpp-developers",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/a106fc8500d469f6.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"children":[["$","div",null,{"className":"scroll-progress","id":"scrollProgress"}],["$","$L3",null,{}],["$","main",null,{"id":"top","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","section",null,{"className":"inner-hero","children":["$","div",null,{"className":"container","children":[["$","div",null,{"className":"inner-eyebrow reveal","children":[["$","span",null,{"children":"404"}],["$","i",null,{}],["$","span",null,{"children":"PAGE NOT FOUND"}]]}],["$","div",null,{"className":"inner-hero-copy reveal","children":[["$","h1",null,{"children":["This page took a wrong ",["$","em",null,{"children":"turn."}]]}],["$","p",null,{"children":"The address may have changed, or the page may no longer be available."}],["$","div",null,{"className":"inner-hero-actions","children":[["$","$L6",null,{"className":"btn primary","href":"/","children":"GO HOME"}],["$","$L6",null,{"className":"btn text","href":"/stemcode","children":"VIEW STEMCODE →"}]]}]]}]]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L7",null,{}],["$","footer",null,{"className":"site-footer","children":["$","div",null,{"className":"container footer-shell","children":[["$","div",null,{"className":"footer-brand-block","children":[["$","$L6",null,{"className":"brand brand-footer","href":"/","aria-label":"GrowBitLabs home","children":["$","img",null,{"className":"brand-logo","src":"/assets/logo.png","alt":"GrowBitLabs logo"}]}],["$","p",null,{"children":"Home of StemCode and GrowBit Convo. Local-first AI development, private AI infrastructure, and agent engineering."}]]}],["$","div",null,{"className":"footer-columns","children":[["$","nav",null,{"aria-label":"Solutions links","children":[["$","strong",null,{"children":"SOLUTIONS"}],["$","$L6",null,{"href":"/stemcode","children":"StemCode"}],["$","$L6",null,{"href":"/stemcode-survey","children":"StemCode Survey"}],["$","$L6",null,{"href":"/compare","children":"StemCode Comparisons"}],["$","$L6",null,{"href":"/growbit-convo","children":"GrowBit Convo"}],["$","$L6",null,{"href":"/open-models","children":"Open Models"}],["$","$L6",null,{"href":"/pricing","children":"Pricing"}],["$","$L6",null,{"href":"/enterprise","children":"Enterprise"}],["$","$L6",null,{"href":"/docs","children":"StemCode Docs"}],["$","$L6",null,{"href":"/guides","children":"Developer Guides"}]]}],["$","nav",null,{"aria-label":"Company links","children":[["$","strong",null,{"children":"COMPANY"}],["$","$L6",null,{"href":"/about","children":"About"}],["$","$L6",null,{"href":"/services","children":"Services"}],["$","$L6",null,{"href":"/contact","children":"Contact"}],["$","$L6",null,{"href":"/careers","children":"Careers"}],["$","$L6",null,{"href":"/press","children":"Press"}]]}],["$","nav",null,{"aria-label":"Legal links","children":[["$","strong",null,{"children":"LEGAL"}],["$","$L6",null,{"href":"/privacy","children":"Privacy Policy"}],["$","$L6",null,{"href":"/terms","children":"Terms of Service"}],["$","$L8",null,{}]]}],["$","nav",null,{"aria-label":"Social links","children":[["$","strong",null,{"children":"SOCIAL"}],["$","a",null,{"href":"https://www.linkedin.com/company/growbitlabs","target":"_blank","rel":"noopener noreferrer","children":"LinkedIn"}],["$","a",null,{"href":"https://www.facebook.com/growbitlabs/","target":"_blank","rel":"noopener noreferrer","children":"Facebook"}]]}]]}],["$","div",null,{"className":"footer-bottom","children":[["$","span",null,{"children":["(c) ",["$","span",null,{"id":"year"}]," GrowBitLabs"]}],["$","span",null,{"children":"StemCode + GrowBit Convo"}]]}]]}]}],["$","$L9",null,{}],["$","$La",null,{}]]}]}]}]]}],{"children":["guides",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["stemcode-cpp-developers",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",\"headline\":\"StemCode for C++ Developers: CMake, clangd, Tests, Refactoring, and Repository-Aware AI\",\"description\":\"Use StemCode with modern C++, CMake, clangd, GoogleTest or Catch2, build systems, static analysis, refactoring, and repository-aware code review.\",\"datePublished\":\"2026-10-01\",\"dateModified\":\"2026-10-01\",\"author\":{\"@type\":\"Organization\",\"name\":\"GrowBitLabs\",\"url\":\"https://growbitlabs.com\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"GrowBitLabs\",\"url\":\"https://growbitlabs.com\"},\"mainEntityOfPage\":\"https://growbitlabs.com/guides/stemcode-cpp-developers\",\"url\":\"https://growbitlabs.com/guides/stemcode-cpp-developers\",\"keywords\":\"StemCode C++, C++ AI coding agent, clangd AI coding, CMake AI assistant, C++ code review AI, C++ refactoring AI\",\"about\":{\"@type\":\"SoftwareApplication\",\"name\":\"StemCode\",\"applicationCategory\":\"DeveloperApplication\",\"operatingSystem\":\"Windows, macOS, Linux\",\"url\":\"https://growbitlabs.com/stemcode\"}}"}}],"$Lb","$Lc"],null,"$Ld"]}],{},null,false]},null,false]},null,false]},null,false],"$Le",false]],"m":"$undefined","G":["$f",[]],"s":false,"S":true} 1a:I[4431,[],"OutletBoundary"] 1c:I[5278,[],"AsyncMetadataOutlet"] 1e:I[4431,[],"ViewportBoundary"] 20:I[4431,[],"MetadataBoundary"] 21:"$Sreact.suspense" b:["$","section",null,{"className":"inner-hero docs-hero","children":["$","div",null,{"className":"container","children":[["$","div",null,{"className":"inner-eyebrow reveal","children":[["$","$L6",null,{"href":"/guides","children":"RESOURCES / GUIDES"}],["$","i",null,{}],["$","span",null,{"children":"C++"}]]}],["$","div",null,{"className":"inner-hero-copy reveal","children":[["$","h1",null,{"children":["StemCode for C++ Developers: AI Coding with ",["$","em",null,{"children":"CMake, clangd, and real builds."}]]}],["$","p",null,{"children":"Use StemCode with modern C++, CMake, clangd, GoogleTest or Catch2, build systems, static analysis, refactoring, and repository-aware code review."}],["$","div",null,{"className":"inner-hero-actions docs-hero-actions","children":[["$","a",null,{"className":"btn primary","href":"#setup","children":"START SETUP"}],["$","$L6",null,{"className":"btn text","href":"/stemcode","children":"EXPLORE STEMCODE →"}]]}],["$","div",null,{"className":"docs-meta-strip","aria-label":"Guide metadata","children":[["$","span",null,{"children":["PUBLISHED ","2026-10-01"]}],["$","span",null,{"children":"STEMCODE DEVELOPER GUIDE"}],["$","span",null,{"children":"LOCAL-FIRST AI CODING"}]]}]]}]]}]}] c:["$","section",null,{"className":"docs-layout section","children":["$","div",null,{"className":"container docs-shell docs-shell-wide","children":[["$","aside",null,{"className":"docs-sidebar","aria-label":"Guide table of contents","children":[["$","span",null,{"className":"toc-label","children":"GUIDE"}],["$","$L6",null,{"href":"/guides","children":"All developer guides"}],["$","$L6",null,{"href":"/stemcode","children":"StemCode overview"}],["$","$L6",null,{"href":"/docs","children":"StemCode docs"}],["$","span",null,{"className":"toc-label","children":"ON THIS PAGE"}],["$","a",null,{"href":"#agents-md","children":"AGENTS.md project instructions"}],[["$","a","#why",{"href":"#why","children":"Why StemCode"}],["$","a","#setup",{"href":"#setup","children":"Install and set up"}],["$","a","#project",{"href":"#project","children":"Project context"}],["$","a","#intelligence",{"href":"#intelligence","children":"Code intelligence"}],["$","a","#workflow",{"href":"#workflow","children":"Development workflow"}],["$","a","#validation",{"href":"#validation","children":"Build and test"}],["$","a","#memory",{"href":"#memory","children":"Project memory"}],["$","a","#review",{"href":"#review","children":"Review changes"}],["$","a","#faq",{"href":"#faq","children":"FAQ"}]]]}],["$","article",null,{"className":"docs-content","children":[["$","section",null,{"id":"agents-md","className":"docs-section reveal","children":[["$","span",null,{"children":"PROJECT INSTRUCTIONS / AGENTS.MD"}],["$","h2",null,{"children":"Give StemCode durable repository instructions before asking it to edit."}],["$","p",null,{"children":["Add an ",["$","code",null,{"children":"AGENTS.md"}]," file at the repository root for persistent project instructions. StemCode loads",["$","code",null,{"children":" AGENTS.md"}]," or ",["$","code",null,{"children":".agent/AGENTS.md"}]," from the workspace into the model context, so this is the right place for architecture boundaries, generated-file rules, coding conventions, validation expectations, and manual setup notes that should apply across sessions."]}],["$","div",null,{"className":"docs-note","children":[["$","b",null,{"children":"Keep AGENTS.md practical and repository-specific"}],["$","p",null,{"children":"Prefer concrete rules the agent can act on: where important source lives, what it must not edit, which patterns it should preserve, and which checks it should run after a change."}]]}],["$","pre",null,{"children":["$","code",null,{"children":"# C++ Project Instructions\n\nThis is a C++ project.\n\nImportant source and configuration paths:\n- CMakeLists.txt\n- cmake/\n- include/\n- src/\n- tests/\n- toolchains/\n- compile_commands.json\n\nGenerated or disposable paths — do not modify:\n- build/\n- out/\n- bin/\n- obj/\n- .cache/\n- generated binaries\n\nFollow these rules:\n- Do not edit generated build directories or binaries.\n- Preserve public API and ABI expectations unless the task explicitly changes them.\n- Make ownership and lifetime explicit.\n- Follow the repository's compiler warnings and language-standard settings.\n- Respect platform-specific code paths and feature defines.\n- Run focused builds and tests before broader target validation.\n\nValidation:\n- cmake -S . -B build\n- cmake --build build\n- ctest --test-dir build --output-on-failure"}]}],["$","p",null,{"children":"Commit the file with the project so the same instructions are reviewable and shared by everyone using StemCode in the repository."}]]}],[["$","section",null,{"id":"why","className":"docs-section reveal","children":[["$","span",null,{"children":"01 / WHY STEMCODE"}],["$","h2",null,{"children":"Use repository-aware AI without replacing the tools your stack already needs."}],["$","p",null,{"children":"StemCode works best when it can understand the repository around a task, inspect related files, use code intelligence where available, run the project's normal validation commands, and review the final diff before you accept a change."}],"$L10"]}],"$L11","$L12","$L13",false,"$L14","$L15","$L16","$L17","$L18"],"$L19"]}]]}]}] d:["$","$L1a",null,{"children":["$L1b",["$","$L1c",null,{"promise":"$@1d"}]]}] e:["$","$1","h",{"children":[null,[["$","$L1e",null,{"children":"$L1f"}],null],["$","$L20",null,{"children":["$","div",null,{"hidden":true,"children":["$","$21",null,{"fallback":null,"children":"$L22"}]}]}]]}] 10:["$","div",null,{"className":"docs-callout docs-callout-strong","children":[["$","strong",null,{"children":["GOOD FIT FOR ","C++"," WORK"]}],["$","p",null,{"children":"Modern C++ applications and libraries using CMake or repository build scripts, clangd, GoogleTest, Catch2, package managers, static analysis, sanitizers, multiple platforms, and normal Git workflows."}]]}] 11:["$","section",null,{"id":"setup","className":"docs-section reveal","children":[["$","span",null,{"children":"02 / SETUP"}],["$","h2",null,{"children":"Install StemCode and open the project root."}],["$","p",null,{"children":"Run StemCode from the repository root so headers, source, build configuration, compile settings, tests, scripts, and Git history can be analyzed together. Keep your compiler, debugger, profiler, and platform SDKs as the source of truth for validation."}],["$","div",null,{"className":"doc-command","children":[["$","b",null,{"children":"npm"}],["$","code",null,{"children":"npm install -g stemcode"}]]}],["$","div",null,{"className":"doc-command","children":[["$","b",null,{"children":"pnpm"}],["$","code",null,{"children":"pnpm add -g stemcode"}]]}],["$","pre",null,{"children":["$","code",null,{"children":["cd your-project","\n","stemcode","\n","/init"]}]}],["$","p",null,{"children":"Keep StemCode at the repository root so project instructions, source, configuration, tests, and Git history are visible from one workspace."}]]}] 12:["$","section",null,{"id":"project","className":"docs-section reveal","children":[["$","span",null,{"children":"03 / PROJECT CONTEXT"}],["$","h2",null,{"children":"Expose headers, source, build files, and tests while excluding generated build trees."}],["$","p",null,{"children":"C++ behavior depends on more than source files: build flags, include paths, feature defines, generated headers, platform branches, and linked libraries all affect what actually compiles. Keep authoritative build configuration visible."}],["$","div",null,{"className":"docs-grid-2","children":[["$","div",null,{"className":"docs-feature-card","children":[["$","span",null,{"children":"INSPECT"}],["$","h3",null,{"children":"Keep source-of-truth files visible."}],["$","pre",null,{"children":["$","code",null,{"children":"CMakeLists.txt\ncmake/\ninclude/\nsrc/\ntests/\ntoolchains/\ncompile_commands.json"}]}]]}],["$","div",null,{"className":"docs-feature-card","children":[["$","span",null,{"children":"IGNORE"}],["$","h3",null,{"children":"Skip generated or disposable output."}],["$","pre",null,{"children":["$","code",null,{"children":"build/\nout/\nbin/\nobj/\n.cache/\ngenerated binaries"}]}]]}]]}],["$","p",null,{"children":["Add generated paths to Git ignore rules or",["$","code",null,{"children":" .stemcode/.stemcodeignore"}]," so repository search stays focused."]}],["$","div",null,{"className":"docs-feature-card","children":[["$","span",null,{"children":"FIRST PROMPT"}],["$","h3",null,{"children":"Understand the project before changing it."}],["$","p",null,{"children":"Analyze this C++ repository. Map libraries and executables, public and private headers, ownership boundaries, build targets, compile definitions, platform-specific code, external dependencies, and tests. Explain the main dependency direction before modifying files."}]]}]]}] 13:["$","section",null,{"id":"intelligence","className":"docs-section reveal","children":[["$","span",null,{"children":"04 / CODE INTELLIGENCE"}],["$","h2",null,{"children":"Use clangd with an accurate compilation database."}],["$","p",null,{"children":"clangd can provide definitions, references, diagnostics, and type information, but it needs build flags and include paths that match the project. A compile_commands.json file or equivalent configured environment makes semantic navigation much more reliable."}],[["$","div","CLANGD-Install clangd and make it available on PATH",{"className":"doc-command","children":[["$","b",null,{"children":"CLANGD"}],["$","code",null,{"children":"Install clangd and make it available on PATH"}]]}],["$","div","CMAKE-cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON",{"className":"doc-command","children":[["$","b",null,{"children":"CMAKE"}],["$","code",null,{"children":"cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"}]]}]],["$","pre",null,{"children":["$","code",null,{"children":["/lsp refresh","\n","/lsp"]}]}],["$","div",null,{"className":"docs-note","children":[["$","b",null,{"children":"Use both semantic navigation and repository search"}],["$","p",null,{"children":"Combine clangd with repository search for preprocessor branches, generated headers, platform code, build options, registration tables, serialization, and macros. A symbol may have different behavior depending on the active target and compile definitions."}]]}]]}] 14:["$","section",null,{"id":"workflow","className":"docs-section reveal","children":[["$","span",null,{"children":["05"," / DEVELOPMENT WORKFLOW"]}],["$","h2",null,{"children":"Trace ownership, API boundaries, and build configuration before refactoring."}],["$","p",null,{"children":"C++ changes can compile locally and still fail under another target, sanitizer, ABI boundary, or ownership path. Ask StemCode to identify those constraints before editing widely used headers or interfaces."}],["$","div",null,{"className":"docs-grid-2","children":[["$","div","Review object lifetime",{"className":"docs-feature-card","children":[["$","span",null,{"children":"OWNERSHIP"}],["$","h3",null,{"children":"Review object lifetime"}],["$","p",null,{"children":"Trace ownership for these objects across constructors, factories, containers, callbacks, threads, and shutdown. Identify dangling-reference or double-ownership risks before changing pointer types."}]]}],["$","div","Refactor a public interface",{"className":"docs-feature-card","children":[["$","span",null,{"children":"API"}],["$","h3",null,{"children":"Refactor a public interface"}],["$","p",null,{"children":"Find all implementations and consumers of this public interface. Explain source, binary, template, and test impact, then propose a staged migration that keeps targets buildable."}]]}],["$","div","Inspect a hot path",{"className":"docs-feature-card","children":[["$","span",null,{"children":"PERFORMANCE"}],["$","h3",null,{"children":"Inspect a hot path"}],["$","p",null,{"children":"Review this path for unnecessary allocations, copies, virtual dispatch, lock contention, cache-unfriendly data access, and work that should be moved out of the critical loop."}]]}],["$","div","Check platform assumptions",{"className":"docs-feature-card","children":[["$","span",null,{"children":"PORTABILITY"}],["$","h3",null,{"children":"Check platform assumptions"}],["$","p",null,{"children":"Identify compiler-, platform-, endianness-, alignment-, and feature-macro assumptions in this change. Compare against the repository's supported target branches."}]]}]]}]]}] 15:["$","section",null,{"id":"validation","className":"docs-section reveal","children":[["$","span",null,{"children":["06"," / BUILD AND TEST"]}],["$","h2",null,{"children":"Compile with the project’s actual build configuration and run focused tests first."}],["$","p",null,{"children":"CMake examples are useful when the repository uses CMake, but checked-in build scripts and CI are the source of truth. Preserve the compiler, generator, toolchain file, and feature options used by the project."}],[["$","div","CONFIGURE-cmake -S . -B build",{"className":"doc-command","children":[["$","b",null,{"children":"CONFIGURE"}],["$","code",null,{"children":"cmake -S . -B build"}]]}],["$","div","BUILD-cmake --build build",{"className":"doc-command","children":[["$","b",null,{"children":"BUILD"}],["$","code",null,{"children":"cmake --build build"}]]}],["$","div","TEST-ctest --test-dir build --output-on-failure",{"className":"doc-command","children":[["$","b",null,{"children":"TEST"}],["$","code",null,{"children":"ctest --test-dir build --output-on-failure"}]]}]],["$","p",null,{"children":"For memory, threading, or undefined-behavior work, run the project’s sanitizer or static-analysis configuration when available. For multi-platform repositories, validate the affected target matrix rather than assuming one local compiler is enough."}],["$","pre",null,{"children":["$","code",null,{"children":"Run the smallest relevant validation first. If it passes, run the broader project checks and review the final diff."}]}]]}] 16:["$","section",null,{"id":"memory","className":"docs-section reveal","children":[["$","span",null,{"children":["07"," / PROJECT MEMORY"]}],["$","h2",null,{"children":"Keep longer-lived architecture context alongside your project instructions."}],["$","p",null,{"children":["Use ",["$","code",null,{"children":"AGENTS.md"}]," for concise rules the agent should follow on every task. Keep longer architecture notes, domain context, and workflow references in repository-level StemCode memory so both stay reviewable and versionable."]}],["$","pre",null,{"children":["$","code",null,{"children":"Do not edit generated build directories or binaries.\nPreserve public API and ABI expectations unless the task explicitly changes them.\nMake ownership and lifetime explicit.\nFollow the repository's compiler warnings and language-standard settings.\nRespect platform-specific code paths and feature defines.\nRun focused builds and tests before broader target validation."}]}]]}] 17:["$","section",null,{"id":"review","className":"docs-section reveal","children":[["$","span",null,{"children":["08"," / REVIEW"]}],["$","h2",null,{"children":"Review the change in terms of your stack, not only the generated code."}],["$","p",null,{"children":"Ask StemCode to inspect its own diff and check the integration points that are easiest to miss in a repository-wide change."}],["$","pre",null,{"children":["$","code",null,{"children":"- ownership and lifetime safety\n- undefined behavior and bounds issues\n- thread safety and synchronization\n- public API or ABI impact\n- template and header compile impact\n- platform and compiler branches\n- build-system changes\n- tests, warnings, sanitizers, and static analysis"}]}]]}] 18:["$","section",null,{"id":"faq","className":"docs-section reveal","children":[["$","span",null,{"children":["09"," / FAQ"]}],["$","h2",null,{"children":"Common setup questions."}],[["$","$1","Why is compile_commands.json useful?",{"children":[["$","h3",null,{"children":"Why is compile_commands.json useful?"}],["$","p",null,{"children":"It gives clangd the include paths, defines, language mode, and compiler flags needed to understand translation units more accurately. Generate it using the repository’s supported build workflow when possible."}]]}],["$","$1","Does this replace the compiler or debugger?",{"children":[["$","h3",null,{"children":"Does this replace the compiler or debugger?"}],["$","p",null,{"children":"No. StemCode helps investigate and change the repository, while the real compiler, linker, tests, debugger, profilers, sanitizers, and static-analysis tools remain the validation source of truth."}]]}],["$","$1","Is this also useful for Unreal C++?",{"children":[["$","h3",null,{"children":"Is this also useful for Unreal C++?"}],["$","p",null,{"children":"The general C++ guidance applies, but Unreal has additional reflection, module, asset, Blueprint, and build-tool constraints. Use the dedicated Unreal Engine guide for that workflow."}]]}]]]}] 19:["$","section",null,{"className":"docs-section reveal","children":[["$","span",null,{"children":"NEXT STEP"}],["$","h2",null,{"children":"Put StemCode to work in a real repository."}],["$","p",null,{"children":"Install StemCode, open the project you already work in, and begin with a repository-understanding task before asking the agent to change code. That gives the model better context and keeps the workflow reviewable."}],["$","div",null,{"className":"docs-grid-2 docs-spaced","children":[["$","div",null,{"className":"docs-feature-card","children":[["$","span",null,{"children":"INSTALL"}],["$","h3",null,{"children":"Start with the CLI."}],["$","pre",null,{"children":["$","code",null,{"children":["npm install -g stemcode","\n","cd your-project","\n","stemcode"]}]}]]}],["$","div",null,{"className":"docs-feature-card","children":[["$","span",null,{"children":"LEARN"}],["$","h3",null,{"children":"Go deeper."}],["$","p",null,{"children":"Read the full StemCode documentation for providers, permissions, LSP integrations, memory, MCP, CI review, and advanced workspace configuration."}],["$","$L6",null,{"className":"inline-arrow","href":"/docs","children":"READ THE DOCS →"}]]}]]}]]}] 1f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#f4f5f0"}]] 1b:null 23:I[622,[],"IconMark"] 1d:{"metadata":[["$","title","0",{"children":"StemCode for C++ Developers: CMake, clangd, Tests, Refactoring, and Repository-Aware AI | GrowBitLabs"}],["$","meta","1",{"name":"description","content":"Use StemCode with modern C++, CMake, clangd, GoogleTest or Catch2, build systems, static analysis, refactoring, and repository-aware code review."}],["$","meta","2",{"name":"keywords","content":"StemCode C++,C++ AI coding agent,clangd AI coding,CMake AI assistant,C++ code review AI,C++ refactoring AI"}],["$","meta","3",{"name":"robots","content":"index, follow"}],["$","meta","4",{"name":"googlebot","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://growbitlabs.com/guides/stemcode-cpp-developers"}],["$","meta","6",{"property":"og:title","content":"StemCode for C++ Developers: CMake, clangd, Tests, Refactoring, and Repository-Aware AI"}],["$","meta","7",{"property":"og:description","content":"Use StemCode with modern C++, CMake, clangd, GoogleTest or Catch2, build systems, static analysis, refactoring, and repository-aware code review."}],["$","meta","8",{"property":"og:url","content":"https://growbitlabs.com/guides/stemcode-cpp-developers"}],["$","meta","9",{"property":"og:type","content":"article"}],["$","meta","10",{"property":"article:published_time","content":"2026-10-01"}],["$","meta","11",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","12",{"name":"twitter:title","content":"StemCode for C++ Developers: CMake, clangd, Tests, Refactoring, and Repository-Aware AI"}],["$","meta","13",{"name":"twitter:description","content":"Use StemCode with modern C++, CMake, clangd, GoogleTest or Catch2, build systems, static analysis, refactoring, and repository-aware code review."}],["$","link","14",{"rel":"icon","href":"/assets/fav.png","sizes":"196x186","type":"image/png"}],["$","link","15",{"rel":"apple-touch-icon","href":"/assets/fav.png","sizes":"196x186","type":"image/png"}],["$","$L23","16",{}]],"error":null,"digest":"$undefined"} 22:"$1d:metadata"