Skip to content
forked from sirji-ai/sirji

Sirji is an open-source AI software development agent. It is implemented as a VS Code extension.

License

Notifications You must be signed in to change notification settings

alpeshvmodi/sirji

 
 

Repository files navigation

Sirji Logo

Sirji is an Open Source AI Software Development Agent.

Built with ❤️ by True Sparrow

GitHub License GitHub commit activity GitHub Issues or Pull Requests

GitHub Repo stars GitHub forks GitHub watchers

Sirji

Sirji is a Visual Studio Code extension that works as an AI software development agent.

It is a virtual software developer that includes individual agents for planning, coding, researching, and executing projects.

Sirji solves users’ problem statements ranging from a new greenfield project to an existing brownfield project where it enhances existing code, fixes bugs, and writes test cases.

The extension leverages the capabilities of VS Code, including the Editor, Terminal, and Project Explorer.

It provides an interactive chat interface through which users submit their problem statements, answer questions, and provide feedback to Sirji.

Additionally and most importantly, Sirji sets up your local development environment by installing system-level packages as well as programming language-specific dependencies. It later executes the generated code in your local development environment.

Demo Video

Create a fully interactive website for playing the Tic-Tac-Toe game.

Watch on YouTube: https://www.youtube.com/watch?v=DC_gmz04Ovs

Tic Tac Toe game by Sirji

Prerequisites

Sirji has been tested on macOS only for now. We know there are certain OS-specific functionalities that we will soon generalize.

Make sure you have installed all of the following prerequisites on your machine:

  • Visual Studio Code (>= 1.80.2)
  • Node.js (>= 18) and npm (>= 8.19)
  • Python (>= 3.10) - Make sure python --version runs without error.
  • tee command - Make sure which tee runs without error.

Also, you will need an OpenAI API key to access the GPT-4 Turbo model.

Installation

You can start using Sirji by installing this extension from the Visual Studio Marketplace.

Architecture

Sirji gets the work done using it's following agents:

  • The Planning Agent takes a problem statement and breaks it down into steps.
  • The Coding Agent proceeds step by step through the generated steps to solve the problem programmatically.
  • The Research Agent utilizes RAG (Retrieval-Augmented Generation) and gets trained on URLs and search terms. It can later use this acquired knowledge to answer questions posed by the Coding Agent.
  • The Executor Agent is responsible for Filesystem CRUD, executing commands, and installing dependencies. The Executor Agent is implemented directly within the extension and is written in TypeScript.

Architecture Diagram

VS Code Extension - Architecture

PyPI Packages

The Planning Agent, Coding Agent, and Research Agent are developed within the Python package sirji-agents (located in the agents folder of this monorepo). Sirji Agents on PyPI

Communication among these agents is facilitated through a defined message protocol. The Message Factory (responsible for creating, reading, updating, and deleting messages according to the message protocol) and the permissions matrix are developed in the Python package sirji-messages (located in the messages folder of this monorepo).Sirji Messages on PyPI

The tools for crawling URLs (converting them into markdowns), searching for terms on Google, and a custom logger are developed within the Python package sirji-tools (located in the tools folder of this monorepo). Sirji Tools on PyPI

All these packages are invoked by Python Adapter Scripts, which are spawned by the extension.

Contributing

We welcome contributions to Sirji! If you're interested in helping improve this VS Code extension, please take a look at our Contributing Guidelines for more information on how to get started.

Thank you for considering contributing to Sirji. We look forward to your contributions!

Reporting Issues

If you run into any issues or have suggestions, please report them by following our issue reporting guidelines. Your reports help us make Sirji better for everyone.

Stay In Touch

Office Hours

License

Distributed under the MIT License. See LICENSE for more information.

About

Sirji is an open-source AI software development agent. It is implemented as a VS Code extension.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 59.8%
  • TypeScript 17.7%
  • JavaScript 12.0%
  • HTML 5.7%
  • CSS 4.1%
  • Shell 0.7%