DEV Community

Sahil Singh
Sahil Singh

Posted on • Originally published at glue.tools

How to Give Claude Code Full Project Context

Claude Code is the most capable reasoning tool in any developer's stack. It handles ambiguous, multi-step problems better than Copilot or Cursor. But it shares the same fundamental limitation: it only knows what you show it.

On a complex ticket — one that spans 5 services, 20 files, and years of accumulated decisions — Claude Code is working with maybe 10% of the context it needs. The other 90% is scattered across your codebase, git history, and your team's collective memory.

The Context Gap

When you ask Claude Code "how should I implement this ticket?", it needs to know:

  1. Which files are relevant (not just the ones you've opened)
  2. How those files connect (dependency graph, call paths)
  3. What was tried before (past PRs, reverted changes)
  4. Who knows this area (expertise for follow-up questions)
  5. What might break (blast radius, downstream consumers)

Without this, Claude Code gives you a reasonable but generic answer. With it, Claude Code gives you a specific, traced, actionable plan.

How to Feed Context

Method 1: Manual Context Gathering

Before asking Claude Code, spend 30-60 minutes:

  • Identify relevant files and paste key sections
  • Search git log for related PRs and paste descriptions
  • Map the dependency chain manually

This works but defeats the purpose — you're spending the Understanding Tax manually to give Claude Code context.

Method 2: MCP Tools

Connect Claude Code to a code intelligence tool via MCP. Now instead of manual gathering, Claude Code can:

> get_feature_files("authentication") → 14 files listed
> get_symbol_call_graph("validateSession", depth=3) → full call chain
> get_file_history("authMiddleware.ts") → last 5 PRs with descriptions
> get_blast_radius("validateSession") → 7 downstream consumers
Enter fullscreen mode Exit fullscreen mode

The context gathering that took 30-60 minutes manually now takes 10 seconds via tool calls.

Method 3: Pre-Generated Build Plans

The most efficient approach: generate a build plan from the ticket before engaging Claude Code. Feed the plan — with its file mappings, dependency analysis, and historical context — as the starting context. Claude Code then reasons about implementation strategy with full awareness of the codebase.

The Difference

Without context:
"To implement user session refresh, you'll want to create a middleware that checks token expiry and refreshes as needed."

With context:
"Based on the codebase analysis: session handling is in src/services/auth/sessionManager.ts. The current implementation uses Redis-backed sessions (see redisClient.ts). The last change to session TTL (PR #412) caused a WebSocket reconnection issue because websocketService.ts has a hardcoded timer matching the old TTL. Recommended approach: update sessionManager.refreshToken(), add a config constant for TTL that both services read, and add a test case for the WebSocket timer alignment."

Same AI. Same model. Dramatically different usefulness — because of context.


Originally published on glue.tools. Glue is the pre-code intelligence platform — paste a ticket, get a battle plan.

Top comments (0)