1.0.1 • Published 2 years ago

codegenai v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

CodeGenAI

Author: John Schibelli

This repository contains a modular plugin for generating code using a locally hosted language model (LLM). The plugin can be integrated into a Next.js project to handle code generation based on user prompts.

Table of Contents

  1. Getting Started
  2. Installation
  3. Usage
  4. File Structure
  5. API Reference
  6. Components
  7. Contributing
  8. License

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher) or yarn (v1.22 or higher)
  • Next.js (v10 or higher)
  • An instance of LLM Studio running locally

Setting Up LLM Studio

Ensure you have LLM Studio set up and running to serve your model locally. This plugin expects the LLM to be accessible at http://localhost:1234/v1.

Installation

  1. Clone the repository:
git clone https://github.com/your-username/llm-generator-plugin.git
cd llm-generator-plugin
  1. Install dependencies:
npm install

or

yarn install
  1. Install UUID package:
npm install uuid

or

yarn add uuid

Usage

  1. Start the development server:
npm run dev

or

yarn dev
  1. Navigate to /generate page in your browser.
  2. Enter your prompt in the textarea.
  3. Submit the form and check the status message for the file path.
  4. Check the generated directory in your project to see the new file created with a unique UUID in its name.

File Structure

/project-root
  /plugins
    /llm-generator
      /api
        generateCode.ts
      /components
        GeneratePage.tsx
      /utils
        llmClient.ts
  /pages
    /api
      llm-generate.ts
    generate.tsx
  /generated

plugins/llm-generator/utils/llmClient.ts

This file contains the utility function to handle LLM API calls.

plugins/llm-generator/api/generateCode.ts

This file contains the API route to handle code generation requests.

plugins/llm-generator/components/GeneratePage.tsx

This file contains the React component to handle the input prompt and display results.

pages/api/llm-generate.ts

This file exposes the modular API endpoint.

pages/generate.tsx

This file exposes the modular generate page.

API Reference

Endpoint: /api/llm-generate

  • Method: POST
  • Description: Generates code based on the provided prompt and writes it to a file.
  • Request Body:
    • prompt (string): The prompt to generate code for.
  • Response:
    • message (string): Success message.
    • filePath (string): The path to the generated file.

Components

GeneratePage

A React component that provides a form to input a prompt and displays the result after submission.

Contributing

We welcome contributions to improve this plugin. To contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a Pull Request.

Running Tests

To run tests, use the following command:

npm run test

or

yarn test

License

This project is licensed under the MIT License - see the LICENSE file for details.

1.0.1

2 years ago

1.0.0

2 years ago