# How to give Claude or ChatGPT your entire codebase (the right way)

> Source: <https://dev.to/cu_thinvreview_b2/how-to-give-claude-or-chatgpt-your-entire-codebase-the-right-way-4nbm>
> Published: 2026-07-04 02:29:24+00:00

At some point every "let me just paste my code into the AI" session hits a wall. You want the model to reason about the *whole* project — not one file — so you start copy-pasting directories. Three things go wrong, usually in this order:

Here's a workflow that handles all three, whether you build the tooling yourself or use an off-the-shelf one.

Models reason better over a single, well-ordered document than over 30 pasted snippets. Walk the repo, skip the noise (`node_modules`

, build output, images, lockfiles), and emit each file with a clear header. A file index at the top helps the model build a mental map before it reads any code.

This is the step people skip. Anything credential-shaped — `sk-...`

, `ghp_...`

, `AKIA...`

, `sk_live_...`

, `-----BEGIN PRIVATE KEY-----`

— should be masked automatically, not by remembering to check. A prompt log is a place secrets go to leak; treat the bundle like a public paste.

Estimate the bundle's token count and compare it to your target model (Claude ~200K, GPT-5 ~400K, Gemini 2.5 Pro ~1M). If you're over, don't truncate blindly — drop the **largest file bodies** but keep every file **listed**, so the model still knows the project's full shape.

[ctxpack](https://github.com/trongtruong110-ux/ctxpack) is a zero-dependency CLI that does all three:

```
# whole repo, budgeted for Claude, secrets masked, written to a file
npx github:trongtruong110-ux/ctxpack . --model claude-fable-5 -o context.md

# too big? fit it to a budget (keeps the file map, trims largest bodies)
npx github:trongtruong110-ux/ctxpack . --fit 150000 -o context.md
ctxpack: 214 files packed
  tokens: ~147,900  (74% of Claude 200,000 ctx)
  redacted: 3 secret(s)
```

Then paste `context.md`

(or attach it) and ask your question against the full project.

ctxpack is MIT-licensed and free: [https://github.com/trongtruong110-ux/ctxpack](https://github.com/trongtruong110-ux/ctxpack). If you've got a workflow for feeding whole projects to an LLM, I'd like to hear it.
