carmelosantana/ai-context-builder

A composer package to build context files for AI chatbots.

1.4.0 2024-09-28 21:42 UTC

This package is auto-updated.

Last update: 2024-11-28 22:14:15 UTC


README

A Composer package to simplify building context from your source code.

Supports

Easily create contextual intelligence from your project's source code when using chatbot for code assistance or autocompletion. This will dramatically improve the quality of the code or documentation generated.

Features

  • Scan your composer project for PHP, CSS, and JS files.
  • Automatically include composer dependencies in the context.
  • Generate human-readable context files.
  • Add additional paths or directories to the context.

Install

Include AiContextBuilder in your project with Composer:

composer require --dev carmelosantana/ai-context-builder

Add the following configuration to your composer.json file:

{
    "scripts": {
        "ai": "CarmeloSantana\\AiContextBuilder\\ContextBuilder::generateContext",
    },
}

Requirements:

Usage

Basic Usage

The AiContextBuilder package is quite simple to use. After installation just run the following command:

composer ai

This will scan the src directory and any additional directories or files specified in the configuration. You will find the generated context files in the .ai directory at the root of your project.

Configuration

You can pass additional paths or directories to be included in the context by providing a file with a list of paths:

composer ai path/to/your/paths.txt

The file should contain a list of paths separated by new lines. For example:

path/to/your/directory
path/to/your/file.php

Output

Upon completion, AiContextBuilder will generate the following files:

  • files-all.txt: Contains all scanned source files.
  • files-php.txt: Contains only PHP files.
  • files-css.txt: Contains only CSS files.
  • files-js.txt: Contains only JavaScript files.
  • composer-*: Contains files from each composer dependency.

Each file includes a summary of the scanned files and their content, formatted for easy integration with AI chatbots.

Funding

If you find this project useful or use it in a commercial environment, please consider donating:

License

The code is licensed under the MIT License.