Skip to content

Releases: OlyoshaOlyosha/Project2Prompt

1.4.0

Choose a tag to compare

@OlyoshaOlyosha OlyoshaOlyosha released this 11 Jun 23:06

[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 .py extension is automatically appended when you specify a config name on the command line, and configs are displayed without the .py suffix for clarity.
  • Preset project directory: Use the new INPUT_DIR option 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_PATTERNS and LOW_PRIORITY_PATTERNS configuration 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_MB is set to 0 (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_DIRS is 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_EXTENSIONS set that could cause filtering to behave unexpectedly.
  • The MAX_DEPTH setting is now properly validated; values less than -1 are rejected with a helpful error message instead of being silently accepted.

Full Changelog: Compare v1.3.0…v1.4.0

1.3.0

Choose a tag to compare

@OlyoshaOlyosha OlyoshaOlyosha released this 09 May 18:38

[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 new ALLOWED_EXTENSIONLESS_FILES setting. The default is an empty set for full backward compatibility.
  • .gitignore integration: Enable the new USE_GITIGNORE option (on by default) to automatically respect your project’s .gitignore rules. Supports *, **, / and negation ! patterns, applied on top of existing blacklists.
  • Multiple configuration profiles: Place any number of .py configuration files inside the configs/ directory. Use the new --config argument 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_DEPTH to control how deep the tool scans your project. Set -1 for unlimited depth, or 0 to 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

Choose a tag to compare

@OlyoshaOlyosha OlyoshaOlyosha released this 22 Mar 18:48

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 pathlib for 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 colorama as 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

Choose a tag to compare

@OlyoshaOlyosha OlyoshaOlyosha released this 13 Jan 19:31

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

Choose a tag to compare

@OlyoshaOlyosha OlyoshaOlyosha released this 07 Jan 16:37

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".