16 Sept 2026

Context is the hard part

Context before prompts

The hardest problem in building LLMKIT wasn’t installing tools. It was context.

Why context decides everything

An AI coding assistant is only as good as what it knows about your codebase. Give it the wrong picture — or no picture — and even a strong model produces code that compiles but doesn’t fit: the wrong patterns, the wrong libraries, the wrong conventions.

Across five stacks and a growing monorepo, the usual workarounds break down:

  • “Just paste in some files” doesn’t scale. Every engineer ends up curating their own context by hand, differently each time.
  • Generic instructions don’t respect how each stack works. Guidance written for an Angular codebase is noise in a Flutter or native iOS one.

What we built

LLMKIT’s answer is an AI context generation system with three parts:

  1. Repomix pulls structured context out of the codebase, so the raw material comes from the code itself rather than from someone’s memory of it.
  2. A two-tier markdown architecture. The first tier holds high-level project context — what the product is and how it fits together. The second tier holds stack-specific detail — how this stack does things. An assistant reads both, in that order.
  3. One convention for where that context lives, enforced across the entire monorepo. Because the location is predictable, every engineer and every assistant finds it the same way, and the rest of the kit can rely on it being there.

The result

Every engineer’s assistant — whether they’re in Angular, Flutter or native iOS — now starts from the right context automatically, instead of everyone reinventing their own prompt scaffolding.

It sounds like plumbing. It’s the part that actually made everything else in LLMKIT work: the multi-stack rollout, the shared practices and the tooling built on top all assume that the context is already there and already right.