Tweet
JS Agent v0.0.15

- New PDF summarizer example with GPT-4 and extract & rewrite pipeline
- PDF loading
- Better text extraction prompts
- Changed summarize to extract text

#ChatGPT #buildinpublic

github.com/lgrammel/js-ag…
I'm adding a "generate code" feature to Rubberduck.

Even in its basic version I find it pretty useful. And with Rubberduck templates, it'll be super easy to create custom code generator prompts (e.g. for React components).

#vscode #buildinpublic #openai
Another day, another project.

Today I'll be creating an indexer that takes a git repository, chunks up files, creates embeddings via the OpenAI API, and saves them into a file.

This will help @rubberduckai know about your repository content!

#buildinpublic #100DaysOfCode
Now I have a working chat server with a basic API and configurable prompts:

#100DaysOfCode #buildinpublic
Fun project for tonight: I'm going to build a simple chatbot service with @fastifyjs and @OpenAI

I'll document the journey in this twitter thread, with links the commits so you can follow along.

#buildinpublic #javascript #100DaysOfCode
I've updated the GitHub project README for Rubberduck.

It should now be easier to quickly get an idea of what the project is about.

github.com/rubberduck-ai/…

#100DaysOfCode #buildinpublic #vscode
I updated the improve-readability template to use handlebars.

Thanks to markdown, it was easy to add a bit of documentation to the template, and the template is easier to understand as well:

github.com/rubberduck-ai/…

#100DaysOfCode #buildinpublic
I'll be changing the Rubberduck conversation templates in the next couple of days to a combination of markdown, json and mustache templating.

You can follow along in this twitter thread. I'll be documenting the steps to get there.

#buildinpublic
✨Rubberduck v0.5.0✨

Edit code by chatting with Rubberduck!

1. Select code
2. Run 'Rubberduck: Edit code' command
3. Iteratively refine the diff by providing instructions
4. Apply to your code when you're happy with the result

marketplace.visualstudio.com/items?itemName…

#vscode #buildinpublic
✨Rubberduck AI Chat for VS Code 0.4.0✨

New: "Diagnose errors" with AI and troubleshoot quicker.

marketplace.visualstudio.com/items?itemName…

#vscode #OpenAI #buildinpublic #gpt3
I made a few improvements to the chat UI to make the most out of the available space.

It now shows user messages as bars and lifts the first message into the thread title.

Code snippets are now emphasized with a different background.

#buildinpublic
Starting with a small refactoring: introducing a Convesation type that will be able to contain messages.

Commit: github.com/rubberduck-ai/…

#buildinpublic #vscode #100DaysOfCode
Rubberduck v0.0.6 is now available in the marketplace.

It includes the new "write test" command.

marketplace.visualstudio.com/items?itemName…

#buildinpublic #vscode
Rubberduck v0.0.5 with the improved code explanation prompt is now available on the #vscode marketplace:

marketplace.visualstudio.com/items?itemName…

#buildinpublic #gpt3 #OpenAI
This completion prompt has given me pretty good code explanations with text-davinci-003:

#openai #gpt3 #buildinpublic
The assembled prompt will roughly look like this:

## Goal
Summarize the code below (emphasizing its key functionality).

## Code
```
// code here
```

## Task
Summarize the code at a high level (including goal and purpose) with an emphasis on its key functionality.

## Answer
The code explanations are now displayed in a rudimentary sidebar panel.

Commit: github.com/rubberduck-ai/…

#buildinpublic #gpt3 #vscode
I've added a basic code explanation feature.

You can select code, invoke the 'explain code' command, and the explanation from #OpenAI GPT-3 is printed on the console:

Commit: github.com/rubberduck-ai/…

#buildinpublic
To call the OpenAI API, users need to be able to enter their API key.

I'm adding commands to enter and clear an OpenAI API key.

It's important to store the API key securely, so I'm using the VSCode secrets API.

Commit: github.com/rubberduck-ai/…

#buildinpublic
The extension now runs in development mode and outputs "Hello, World!" to the console 🎉

#buildinpublic
Next up is compiling ts to js and bundling with ESBuild.

I'm using to separate steps (compile and build) in the @NxDevTools project.json file.

lib/vscode-extension can now be build with 'pnpm nx run vscode-extension:build'

Commit: github.com/rubberduck-ai/…

#buildinpublic