Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kesor/chatgpt-code-plugin

Code ChatGPT Plugin is a TypeScript Code Analyzer that enables ChatGPT to "talk" with YOUR code
https://github.com/kesor/chatgpt-code-plugin

chatgpt typescript

Last synced: 3 months ago
JSON representation

Code ChatGPT Plugin is a TypeScript Code Analyzer that enables ChatGPT to "talk" with YOUR code

Awesome Lists containing this project

README

        

# Code ChatGPT Plugin

Code ChatGPT Plugin is a TypeScript Code Analyzer that provides a set of utilities for analyzing TypeScript code. It can fetch a list of all TypeScript files in a project, find all functions in a file, and even get the content of a specific function. It's a great tool for developers who want to understand a TypeScript codebase, and it's also useful for automated tools that need to analyze or manipulate TypeScript code.

## Features

- Fetch a list of all TypeScript files in a project
- Find all functions in a TypeScript file
- Get the content of a specific function in a TypeScript file

## Example Usage

![Example Usage in ChatGPT](example.png)

## Installation

1. Clone the repository: `git clone https://github.com/kesor/chatgpt-code-plugin.git`
2. Navigate to the project directory: `cd chatgpt-code-plugin`
3. Install the dependencies: `npm install`
4. Build project: `npm run build`
5. Start the server: `BASE_PATH=/home/myuser/src/awesome-project npm start`
6. Add the API into ChatGPT Plus plugins' "Developer your own plugin" interface (`http://localhost:3000`)

### Prerequisites

1. You must have ChatGPT Plugins available to you

![ChatGPT Plugins Beta](prereq-plugins.png)

2. You must have ChatGPT Plugin Developer available to you as well

![ChatGPT Plugins Developer](prereq-plugin-dev.png)

## Usage

Once the server is running, you, or ChatGPT, can use the following endpoints:

- `GET /files`: Fetch a list of all TypeScript files in the project
- `GET /files/:fileName`: Get the content of a specific file
- `GET /functions`: Fetch a list of all functions in the project
- `GET /files/:fileName/functions`: Find all functions in a specific file
- `GET /files/:fileName/functions/:functionName`: Get the content of a specific function in a file

## Contributing

We welcome contributions from the community!

### How to Contribute

1. Fork the repository
2. Create a new branch for each feature or bugfix
3. Write your code
4. Write tests for your code
5. Run the tests and make sure they pass
6. Submit a pull request

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.