Repository navigation
Releases: OlyoshaOlyosha/Project2Prompt
Release list
1.4.0
[Version 1.4.0] - 2026-06-12
New Features
- Interactive configuration tree: Select configuration files from a numbered, tree‑style menu that shows optional descriptions. The
.pyextension is automatically appended when you specify a config name on the command line, and configs are displayed without the.pysuffix for clarity. - Preset project directory: Use the new
INPUT_DIRoption in your configuration to define a default project folder, so you can skip the folder selection step when you always export the same project. - Re‑export loop: After an export finishes, you can immediately re‑run it with the same config (hot‑reloading any edits to the config file from disk) or switch to a different configuration by entering its number, all without restarting the tool.
- Progress bar: A real‑time progress bar now appears during file scanning, showing you exactly how many files have been processed.
- Extended statistics: The post‑export summary has been expanded to include counts of skipped files (binary/unreadable, too large, excluded by rules), a table of the top 10 file extensions, and a list of the 5 largest included files.
- Priority file ordering: Control the order of files in your export with the new
PRIORITY_PATTERNSandLOW_PRIORITY_PATTERNSconfiguration options, so critical files always appear first. - Update notifications: The tool can now check for new releases on GitHub at startup and notify you if a newer version is available. This behavior can be turned off in
app_config.py.
Improvements
- The entire console interface has been upgraded from Colorama to the Rich library, providing more polished formatting, improved tree rendering, and smoother progress display.
- A clear notice is now shown when
MAX_FILE_SIZE_MBis set to0(unlimited), confirming that no file‑size filtering is active.
Bug Fixes
- Empty directories are now correctly displayed in the project tree and statistics when
SHOW_EMPTY_DIRSis enabled. - Fixed a crash that could occur when the GUI folder picker was unavailable and an internal variable was left uninitialized.
- Removed incorrectly formatted composite entries from the default
BLACKLIST_EXTENSIONSset that could cause filtering to behave unexpectedly. - The
MAX_DEPTHsetting is now properly validated; values less than-1are rejected with a helpful error message instead of being silently accepted.
Full Changelog: Compare v1.3.0…v1.4.0
1.3.0
[Version 1.3.0] - 2026-05-09
New Features
- Extensionless file whitelist: You can now include files without extensions (like
Dockerfile,Makefile,LICENSE) by listing them in the newALLOWED_EXTENSIONLESS_FILESsetting. The default is an empty set for full backward compatibility. .gitignoreintegration: Enable the newUSE_GITIGNOREoption (on by default) to automatically respect your project’s.gitignorerules. Supports*,**,/and negation!patterns, applied on top of existing blacklists.- Multiple configuration profiles: Place any number of
.pyconfiguration files inside theconfigs/directory. Use the new--configargument to select one, or choose interactively when running the tool. - Improved output naming: The export filename now includes the active configuration name and always gets a sequential number, making it easier to manage multiple exports.
- Directory traversal depth limit: Configure
MAX_DEPTHto control how deep the tool scans your project. Set-1for unlimited depth, or0to process only the selected directory. - Console fallback for directory selection: If a graphical folder picker isn’t available, the tool automatically provides a text-based alternative for choosing a directory.
- Expanded language detection: Added mappings for many more file extensions and improved fallback – if an extension isn’t recognised, it is shown as the language name.
- Enhanced export statistics: The post-export summary now shows:
- A hierarchical file tree matching the project structure.
- Token count with percentage of a 128K context limit.
- Color-coded elapsed time and token usage thresholds.
- File and folder counters with icons, and directory names highlighted in blue.
- Dynamic file size formatting (auto-switches between KB and MB).
Improvements
- Faster filename generation: Optimised the method that finds the next available export number, reducing filesystem calls from linear scans to a single directory lookup.
- Reduced disk I/O: When file output is disabled, the tool no longer performs unnecessary filename uniqueness checks, saving time and resources.
- Safer configuration handling: The tool now applies overrides in memory instead of modifying your config file at runtime, eliminating race conditions and the risk of formatting corruption.
- Simpler execution flow: Removed the internal restart loop, making the tool’s behavior more predictable and responsive.
Bug Fixes
- Statistics now correctly reflect the final exported output instead of intermediate processing chunks, ensuring accurate character counts.
- Keyboard interrupts (Ctrl+C) are now handled gracefully instead of leaving the terminal in an inconsistent state.
- Missing internal imports that could cause crashes under certain configurations have been resolved.
- Clipboard copying now correctly delivers the content as a list of command arguments, fixing failures on some systems.
- Improved error handling for file operations (reading, writing, stat calls) and configuration directory access, reducing unexpected crashes.
Full Changelog: v1.2.0...v1.3.0
1.2.0
Version 1.2.0
New Features
- Added a restart option after completing an export, allowing users to perform another export without restarting the application. Configuration is reloaded each time to reflect any external changes.
- Included the root directory name in the project structure view for better context when exporting.
- Introduced a separate OUTPUT_DIR configuration setting to specify where exported files are saved, independent of the filename.
- Added a clipboard safety limit with a configurable maximum character count. Users will now see a warning when the export size exceeds the limit before copying to the clipboard.
- Enhanced the terminal interface with colored console output for improved readability of success messages, warnings, errors, and prompts.
- Added the ability to show empty directories and include empty files in the export, controlled by new configuration settings.
Improvements
- Improved cross-platform clipboard support with more robust error handling and fallback logic.
- Simplified and modernized internal file handling by adopting
pathlibfor safer and more readable path operations. - Consolidated configuration usage across the application, making the logic for detecting and filtering files more straightforward.
- Stricter configuration validation now ensures required settings are present and correctly typed, eliminating silent fallbacks that could lead to unexpected behavior.
- Updated default limits: maximum file size for export increased from 1 MB to 5 MB, and the clipboard character limit increased from 10,000 to 500,000.
- Expanded the default list of ignored directories and file extensions to exclude more common build artifacts and cache files.
- Updated the README with detailed installation instructions, new configuration options, and a clear overview of all interactive features.
Bug Fixes
- Fixed an issue where the application could fail to write the output file if the specified directory did not exist. The tool now automatically creates any missing parent directories.
- Removed unused options related to output formatting and syntax highlighting to reduce confusion and streamline the configuration.
Technical Notes
- Python version requirement has been updated to 3.10 or higher.
- Added
coloramaas a dependency for cross-platform colored terminal output. - Configuration file (
config.py) is now strictly required; the application will exit with an error if it is missing or incomplete.
Full Changelog: v1.1.0...v1.2.0
1.1.0
Version 1.1.0
New Features
- Added project structure generation in tree form, making it easier to visualize and share directory layouts
- Introduced options to export both the project structure and file contents in a single operation
- Added post-export statistics showing the number of directories and files processed
Improvements
- Completely restructured the codebase into a clean, modular package layout for better maintainability and extensibility
- Significantly enhanced overall code quality with full PEP 8 compliance, comprehensive type hints, modernized imports, and improved docstrings
- Improved configuration loading with proper error handling and sensible default values
- Reorganized and simplified configuration settings for better readability and logical grouping
- Updated output file paths to save exports in a dedicated
outputs/directory for better organization
This release focuses on major code quality improvements and valuable new export-related functionality.
Version 1.0.0 — First stable release
Version 1.0.0
First stable release of Code Export For AI — a tool to export an entire code project into a single file, ready to paste into ChatGPT/Claude.
What it does:
Recursively collects files, wraps them in code blocks with paths, ignores noise, and saves to file/clipboard.
Why:
To quickly feed the full project context to AI for code review, debugging, or refactoring — no manual copying.
Run:
python code_export_for_AI.py or specify folder -d "path".