Skip to content

GUI for selecting text files for concatenation and submission to LLMs

License

Notifications You must be signed in to change notification settings

banagale/FileKitty

Repository files navigation

FileKitty

A simple file selection and concatenation tool.

Features

  • Select files from a directory
  • Concatenate selected files into a single file
  • Save the concatenated file to a directory
  • Copy file to clipboard

Good for

  • Concatenating files for use in a single file format
  • Pasting file contents into an LLM to provide context to a prompt

How to use it

  1. Open the app and click Open Files.
  2. Select the files you want to concatenate:
  3. Click Open and files will be added to the text area.
  4. Select, copy to clipboard, and paste into your prompt:

OR

  1. In MacOS Finder, find the files you want to concatenate
  2. Open the FileKitty app
  3. Drag and drop the files into the app
  4. Select, copy to clipboard, and paste into your prompt

Build

Prerequisites

  • Poetry is used to manage dependencies and build the app.
  • Refer to the Poetry documentation for installation instructions.

Build from source

poetry install
poetry run python setup.py py2app
  • App should show up in ./dist/FileKitty.app
  • Copy to Applications folder

Linting and Formatting

This project uses Ruff for linting and code formatting.

Run locally

make lint       # Check for lint issues
make format     # Format code

Or using poetry directly:

poetry run ruff check .
poetry run ruff format .

Contributing

Pre-commit hooks

This project uses pre-commit to enforce linting before each commit.

To set it up locally:

poetry install  # If not already done
pre-commit install
pre-commit run --all-files  # Optional: check everything right away

Continuous Integration

  • Linting: Enforced via GitHub Actions on every push and pull request. See .github/workflows/lint.yml.
  • Build Validation: Ensures the app builds correctly on macOS. See .github/workflows/build.yml.

About

GUI for selecting text files for concatenation and submission to LLMs

Resources

License

Stars

Watchers

Forks

Packages

No packages published