Include external libraries

Include external libraries in C++ — with the four heights of help laid out: do it now, make it easier for the next person to accept, work out the right move when you are stuck, and learn the pattern so it stops coming back.

4prompt heights
Open it in the interactive atlas →

The four heights

The same task, four distances: today's deadline, the next reviewer, the stuck moment, the pattern.

Execute — do the immediate task

+
Add external math and JSON libraries to our graphics module. In the file Renderer.cpp use the math…
Add external math and JSON libraries to our graphics module. In the file Renderer.cpp use the math API from glm and our JSON wrapper to load shader settings from shaders.json. Add the necessary include directives at the top of Renderer.cpp and the corresponding forward declarations in Renderer.h if needed. Make sure to include the correct header paths we use: deps/glm/glm.hpp and libs/json/json.hpp. Ladder":"L1"

Improve — make it easier to accept

+
Before I push the Renderer change, make it straightforward for a reviewer to verify dependencies…
Before I push the Renderer change, make it straightforward for a reviewer to verify dependencies are correct. Surface the library versions used and why we include glm in the cpp instead of the header, list the symbols we consume from the json wrapper, and flag any potential ABI or header-only issues that would make a CI build fail. Ladder":"L2"

Decide — diagnose the stuck moment

+
They moved libs/json/json.hpp into Renderer.h to satisfy a compile error. Now unrelated projects…

A teammate added an include for the JSON wrapper into Renderer.h and builds in other modules started breaking

They moved libs/json/json.hpp into Renderer.h to satisfy a compile error. Now unrelated projects fail due to macro collisions and increased compile time. I don’t want to force-json on every consumer of Renderer. What likely happened and what is the minimal change to stop the breakage while still letting Renderer.cpp use the JSON API? Ladder":"L5"

Become — change the pattern

+
Every few sprints someone copies a third-party include into a header to make a quick compile fix;…

We repeatedly add third-party headers to public headers and CI times spike

Every few sprints someone copies a third-party include into a header to make a quick compile fix; CI times and merge conflicts are rising. What practical team habits, code-review checks, and small build-system changes will prevent leaking third-party headers into public headers while keeping developer turnaround time acceptable? Give a short rollout plan. Ladder":"L6"

Next to this one

Other programming language work people do in C++.

Every task here came from the work, not from a feature list — which is why the prompts name what you want done and never the button that does it. The tool changes; the work does not.
Copyright © LLOS.ai · 2026 — original pedagogy, voice, and design — all rights reserved.

The rest of the map

Same library, five ways in.