
Cline
@cline
Cline doesn't index your codebase. No RAG, no embeddings, no vector databases. This isn't a limitation -- it's a deliberate design choice. As context windows increase, this approach enhances Cline's ability to understand your code. Here's why. 🧵
The industry default: chunk your codebase, create embeddings, store in vector databases, retrieve "relevant" pieces. But code doesn't work in chunks. A function call in chunk 47, its definition in chunk 892, the context that explains why? Scattered everywhere.
We believe in the agentic power of the modesl, and with Claude's 200K+ context window, we don't need clever retrieval. We need intelligent exploration. So Cline reads code the way you do -- following imports, tracing dependencies, building connected understanding.
The problems with RAG for code run deeper: - Chunking breaks the logical connections between functions and their dependencies - Indexes become stale the moment you push a commit - Your IP gets duplicated in vector embeddings (security nightmare) Why create these problems when there's a better way?
Instead of indexing, Cline starts with structure. Using ASTs, it maps your codebase architecture -- classes, functions, relationships. Then it explores. Need to add error handling? It traces from your function to your error utilities to similar patterns. Connected comprehension.
"But isn't searching files slower than vector retrieval?" For keyword matching? Maybe. But we're not doing keyword matching. We're building genuine understanding. Your code is already on disk -- why copy it to a database?
The results: Cline suggests error handling that matches your patterns, not generic try-catch blocks. It understands your custom frameworks. It sees the connections a vector search would miss. No index to maintain. No embeddings to secure. Just intelligence applied directly to your code.
This isn't about being contrarian. It's about recognizing that language models are now powerful enough to work with code the way developers do. The future belongs to AI that can think, not just retrieve.
Deep dive into why we built it this way: https://cline.bot/blog/why-cli...