/tarik-autocoder

Tarik is an LLM-based automated developer

Primary LanguageC#MIT LicenseMIT

Tarik AutoCoder - Task to Code

Tarik is a chain-of-thought LLM-based autocoder, intended to be used as a tool for developers to delegate small tasks to.

image

Project Goal

The goal of this project is to enable developers to delegate small tasks to Tarik, allowing them to focus on more complex aspects of their work. Tarik will, when assigned an issue:

  • Suggest a plan
  • Create a branch and make changes according to above plan when approved
  • Create a PR with above changes

At this point a human can intervene and continue working on the issue - better yet if Tarik's contribution is good enough, simply merge the PR and close the issue. Please see Benchmarking for current capability.

How it works

Tarik continuously monitors issues on Github that are assigned to him. When an issue is assigned to Tarik, he will:

  • Read the issue title and description
  • (TBD) Look at the code in the repository and build up a mental model of the codebase
    • (TBD) perhaps using vector embeddings to represent the codebase?
  • (TBD) Use the codebase model to suggest a plan for the issue
  • Create a branch and make changes according to above plan
  • Create a PR with above changes

Getting started

  • Install the .NET 7 SDK
  • Set the .env variables
  • Initialize the secrets:
./scripts/dotnet-user-secrets.sh
  • Run the project:
dotnet run --project src/Api