stitionai / devika

Devika is an Agentic AI Software Engineer that can understand high-level human instructions, break them down into steps, research relevant information, and write code to achieve the given objective. Devika aims to be a competitive open-source alternative to Devin by Cognition AI.
MIT License
18.48k stars 2.39k forks source link

Wishlist. #420

Open arthurwolf opened 7 months ago

arthurwolf commented 7 months ago

(Love the project, awesome work).

I see Devin/this project doing demos like "do this simple video game from scratch", or "do a to-do list web app", starting from zero and using whatever libraries/technologies it prefers.

Those are neat, but I don't think they are the most useful, at least for some people.

Here's what I would want/need these projects to do, in case that would be useful to know, in the form of the prompts as I'd ask them of the agents:

  1. (Coming into my existing project/database), tell it: « in src/lib/Editor.ts, there's a function to resize images according to the specs it finds in the database, I'd like that function (and the other sub-functions it calls) to be put into a new library named Resizer.ts in src/lib/utils/, and change Editor.ts to use that library »

  2. « Once that's done, find other places in the code where we resize images, and for each, change them to use the new Resizer library. »

  3. « In src/test, using the same format and testing library as I am already using in my tools, write a series of tests for the Resizer library. You can find "sample" images to resize inside of data/samples/resized-images/ »

  4. « My project is made of two parts, the scripts (run with Node) in src/, and the ui (written in Vuejs, run in the browser) in ui/src/. Each part has its own "Page" class/abstraction with different functions/properties. I'd like you to join both of these into a single file/class that both the scripts and the UI can call/use. This is tricky because a few of the libraries the "scripts"-side class uses will not work in the browser. You must find a solution that allows us to have only one class everything imports, but to not have errors in the browser despite this. Propose and explain in detail a possible solution to this problem for me to review, then if I like the solution I'll ask you to implement it. »

If your project was able to do this, it would completely change my life.

Just a wishlist :)

Awesome work by the way.

scythargon commented 7 months ago

Agreed! Is it possible to give devika the shell access? So it would be able to read my files and run CLI programs?