FileKitty

FileKitty

GUI for selecting text files for concatenation and submission to LLMs

Stars: 137

Visit
 screenshot

FileKitty is a simple file selection and concatenation tool that allows users to select files from a directory, concatenate them into a single file, save the concatenated file, and copy files to the clipboard. It is useful for concatenating files for use in a single file format and pasting file contents into an LLM to provide context to a prompt. The tool is built using Poetry to manage dependencies and build the app.

README:

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 is enforced via GitHub Actions on every push and pull request.
The workflow is defined in .github/workflows/lint.yml.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for FileKitty

Similar Open Source Tools

For similar tasks

For similar jobs