Sirji is an Open Source AI Software Development Agent.
Built with ❤️ by True Sparrow
Sirji is a Visual Studio Code Extension that acts as an AI Software Development Agent, an open-source alternative to Devin. It functions as a virtual software developer, geared towards solving the given problem statement. These problem statements can either involve fresh, greenfield development or efforts aimed at enhancing existing code, bug fixing, documentation, and test case creation in brownfield development.
The extension leverages the capabilities of VS Code, including the Editor, Terminal, Browser, and Project Explorer.
Additionally, it provides an interactive chat interface through which users can submit their problem statements, enhancement requests, feedback, and answers to requests for elaboration.
TODO: Show 2 good demo videos - side by side. Then afterwards, give a link to the demos page.
TODO: Add steps for how to get started with using Sirji.
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.
The Planning Agent, Coding Agent, and Research Agent are developed in the Python package sirji-agents
The communication between all these agents is defined as a message protocol. The Message Factory (CRUD for messages as per the message protocol) and permissions matrix are developed in the Python package sirji-messages
The tools for crawling URLs (converting them to markdowns), searching for a term on Google, and custom logger are developed in the Python package sirji-tools
All these packages are called from Python Adapter Scripts, which are spawned by the extension.
TODO: Add a link to the doc in which steps for contributors to set up a local dev environment.
Distributed under the MIT License. See LICENSE
for more information.