You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-14Lines changed: 15 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,33 +1,34 @@
1
1
# CodeWhisperer
2
2
3
-
CodeWhisperer is a Node.js application leveraging Express and MongoDB, with a Bootstrap-based UI. It facilitates conversation with code repositories by summarizing files and projects using OpenAI's gpt-3.5-turbo-16k and gpt-4-turbo-preview models.
3
+
CodeWhisperer is an innovative Node.js application that allows users to have conversations with their code repositories. By leveraging the power of OpenAI's AI models, it can summarize text files and entire code repositories to facilitate a chat-like interaction.
4
4
5
5
## Overview
6
6
7
-
The app utilizes Express.js for server-side operations and MongoDB as a data storage solution. It uses the Bootstrap framework to create a responsive UI. The application operates by accepting GitHub repository URLs and email addresses, cloning repositories, extracting and summarizing textual content, and storing summaries in MongoDB. Email notifications are sent through Sendgrid upon task completion.
7
+
The application is built using Express for server management, MongoDB for data persistence, and Bootstrap for the front-end interface. It primarily interacts with OpenAI's API to create summaries of repositories and engage users in conversations about their code. The app processes GitHub repositories by cloning them, generating summaries through the gpt-3.5-turbo-16k and gpt-4-turbo-preview AI models, and then communicates the results via email using Sendgrid.
8
8
9
9
## Features
10
10
11
-
-Accept GitHub repository URLs and emails on the main page
12
-
-Clone, summarize, and delete repositories upon processing
13
-
-Interact with OpenAI's API to generate code and project summaries
14
-
-Email users with links to interact with their repository summaries
15
-
-Display project summary and offer a chat-like interface for Q&A powered by OpenAI
11
+
-Accepts GitHub repository URLs and user email addresses for processing
12
+
-Clones repositories and summarizes text files and overall project contents
13
+
-Communicates with OpenAI's API to generate summaries and answer user queries
14
+
-Sends email notifications with links to interact with the repository summary
15
+
-Provides a chat interface for dynamic interaction with the project summary
16
16
17
17
## Getting started
18
18
19
19
### Requirements
20
20
21
-
- Node.js
22
-
- MongoDB
23
-
- An OpenAI API key
21
+
- Node.js environment
22
+
- MongoDB instance
23
+
- OpenAI API key
24
+
- Sendgrid credentials for email notifications
24
25
25
26
### Quickstart
26
27
27
-
1. Clone the repository to your local machine.
28
-
2. Install dependencies with `npm install`.
29
-
3.Set up your `.env` file with the necessary environment variables (PORT, MONGODB_URI, and OPENAI_API_KEY).
30
-
4. Run the server using `npm start` or `node server.js`.
28
+
1. Clone the repository to your machine.
29
+
2. Install necessary Node.js packages with `npm install`.
30
+
3.Configure the required environment variables within an `.env` file.
31
+
4. Run the application using `npm start` or `node server.js`.
console.log(`Preparing to send email notification to ${email}`);// gpt_pilot_debugging_log
19
+
20
+
constmailOptions={
21
+
from: process.env.EMAIL_FROM,// Sender address from .env
22
+
to: email,
23
+
subject: 'Your repo is ready for a chat!',
24
+
html: `The repository <a href="${repoUrl}">${repoUrl}</a> has been analyzed. You can chat with it at <a href="${process.env.BASE_URL}/explain/${uuid}">${process.env.BASE_URL}/explain/${uuid}</a>.`
25
+
};
26
+
27
+
console.log(`Sending email to ${email} with subject: "${mailOptions.subject}"`);// gpt_pilot_debugging_log
0 commit comments