Drop a folder. Configure what to exclude. Hit one button.
Get a clean, structured codebase dump — file tree included —
ready to paste into Claude, GPT, or anything else.
Every time you want to give Claude your codebase, you have to either paste files one by one, write a bash script, or use some half-working VSCode extension that dumps everything including node_modules, build artifacts, and binary files into a blob that eats your context window.
You waste tokens on things the LLM can't use. You hit context limits on small projects. You end up guessing which files matter. There's no token estimate, no file tree, no control.
The tooling that should have existed just doesn't.
ContextForge is a proper Windows desktop app. Drop a folder in, and it scans instantly
using Dart isolates — the UI never freezes. It automatically skips
node_modules, build, .git, binaries, and anything
in your .gitignore.
You see a live token estimate as you select files, with a color-coded budget indicator. Pick your output format — Plain Text, XML, or Markdown. Copy to clipboard or stream to disk. Done.
Native Windows 11 Mica/Acrylic glass UI. No installer, no bloat. Extract and run.
Standard, MuleSoft, Python, or React. Fine-tune by excluding folders, file patterns, or individual files. Settings are saved as .exclusion_settings.json in your project root.
compute().
The UI stays fully responsive while scanning, even on repos with thousands of files.
Disk writes use a streaming chunk-by-chunk approach — massive outputs don't blow up RAM.
Designed to handle real production codebases, not toy examples.
.gitignore and respects it during scans automatically.
Your exclusion settings are stored in .exclusion_settings.json
at the project root — not locked to the machine or app install. Commit it
and every team member gets the same setup.
Standard, MuleSoft, Python, React.
Each preset applies the right exclusions for that ecosystem automatically —
the right artifacts skipped, the right files included.
fluent_ui and flutter_acrylic.
Native Windows 11 Mica and Acrylic glass effects.
Themes: Standard Glass, Pitch Black, Ocean Depth, Cyber Forest.
AppState (ChangeNotifier) manages UI state.
SettingsService handles persistence.
FileService runs all heavy I/O in isolates.
Pages are thin UI shells — no logic leaks.
== File Tree == my-project/ ├── src/ │ ├── main.dart │ └── app_state.dart └── pubspec.yaml == File: src/main.dart == void main() { runApp(const App()); } == File: pubspec.yaml == name: my_project version: 1.0.0
<codebase> <file_tree> <![CDATA[ my-project/ ├── src/main.dart └── pubspec.yaml ]]> </file_tree> <file path="src/main.dart"> <![CDATA[ void main() { runApp(const App()); } ]]> </file> </codebase>
## File Tree ``` my-project/ ├── src/main.dart └── pubspec.yaml ``` ## src/main.dart ```dart void main() { runApp(const App()); } ``` ## pubspec.yaml ```yaml name: my_project ```
ContextForge.exe. That's it. No install step, no wizard, no reboot.flutter pub get flutter run -d windows --release
fluent_ui for Fluent Design System components.bitsdojo_window and flutter_acrylic for native Windows 11 chrome.compute() for all file I/O. True parallel execution — not just async.shared_preferences. Per-project settings via .exclusion_settings.json.encrypt + crypto for Phase 4 identity features.