Skip to main content

AI-powered tool for creating, analyzing, and modifying files using natural language

Project description

Filepilot 🚀✨

License Python Version Version

Filepilot is an AI-powered tool for creating, analyzing, and modifying files using Natural Language Processing (NLP). It provides a command-line interface (CLI) for interacting with Anthropic's Claude AI assistant using the Claude-3-5-Sonnet model, leveraging its capabilities to generate file content, analyze existing files, and apply edits based on natural language instructions. Since Filepilot operates directly on files in your workspace, it seamlessly integrates with any IDE or text editor, maintaining your development workflow while adding AI capabilities.

Demo

Demo

Features ✨

  • 🆕 Create: Generate new files with AI-generated content based on a description and optional reference files
  • 📁 CreateDir: Create entire directory structures with multiple files
  • 🔍 Analyze: Get a concise summary of a file's main purpose using NLP
  • 🚀 Modify: Edit existing files by providing natural language instructions
  • 🔄 Update: Modify files based on analyzing reference files
  • 🤖 Powered by Claude-3: Harness the power of Anthropic's Claude-3-5-Sonnet model
  • 👀 Visual Diffs: Review changes with syntax-highlighted diffs before applying

Installation 🛠️

Install via pip:

pip install filepilot

Or use Docker:

docker pull ghcr.io/joaompinto/filepilot

Set your API key:

export ANTHROPIC_API_KEY="your-api-key-here"

Usage 📖

Basic commands:

# Create a new file
filepilot create app.py "Create a Flask web application with a home route"

# Create a directory structure
filepilot createdir webapp "A web application with templates and routes"

# Analyze files
filepilot analyze app.py config.py

# Modify existing files
filepilot change app.py "Add error handling to the main route"

# Update based on reference files
filepilot update requirements.txt app.py

# Non-interactive mode
filepilot create -y script.py "A script that processes CSV files"

Docker usage:

docker run -it --rm -v $(pwd):/app -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  filepilot filepilot analyze app.py

Enable verbose output:

export VERBOSE_MODE=true

Contributing 🤝

Contributions are welcome! Please follow the contributing guidelines.

License 📄

This project is licensed under the MIT License.

For Docker installation and usage instructions, see the Docker Guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filepilot-0.4.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

filepilot-0.4.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file filepilot-0.4.0.tar.gz.

File metadata

  • Download URL: filepilot-0.4.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for filepilot-0.4.0.tar.gz
Algorithm Hash digest
SHA256 317b9fed47a3c8e9d18b97544d36811f6a1d760942ab12e8bebd2ae159802475
MD5 52789c698e0280c89852ec736993ec2d
BLAKE2b-256 15a2ab493d6458570a9d0ac96d5084dd7bc1c02507baca0af254517dbfcad9ce

See more details on using hashes here.

File details

Details for the file filepilot-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: filepilot-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for filepilot-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 421974fd0a8bf6a923f85b67eab5fef9dfc913cac0576050f7ba2fb7dab5ff5b
MD5 c78aa852a1ba378670377a377e89e6d5
BLAKE2b-256 0e5d624a4838b643600108832cb53df1ce05e78f884bd33755bbb26d37566802

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page