I’m surprised nobody has made this before, and am looking forward to trying it!
> Manicode has full access
It can read and write to your files, as well as run potentially risky commands in your terminal without any confirmation from the user.
I expect that if you want Manicode to go mainstream, you’ll get a lot of people who won’t try it because of this. Even if the LLM can’t directly access files outside the project directory and can only run bash commands from a whitelist, it can still write and run arbitrary code. So I’d bet that you’ll eventually end up building a docker container or similar sandbox into Manicode.
I don't think you need a sandbox, you need a review-before-apply process similar to cursor composer. I tried manicode but it didn't work for me because it would do wrong things confidently and there was no undo or review flow.
I think Manicode is better, although Cursor is better for some use cases, like when you know exactly what spot in the code to change. Cursor also feels way more polished.
Cursor has their own multi-file editor called Composer, but, like Aider, you have to explicitly add each file you want it to see, whereas manicode just figures out what files should be edited (and it's good at this!). It also adds extra files to context that might be relevant, and I think this is really helpful at generating the best code.
Also, only Manicode has access to your terminal, and can, e.g. run tests or run the compiler to check for errors.
I haven't actually tried Aider, but frankly I just assume I've already leapfrogged them haha. There are many such projects.
They've spent a lot longer building a very similar product and solved similar problems. I also send a file tree in the system prompt, and have used the typescript compiler to find all exported tokens, but their idea to use the tree sitter library to list the exported tokens per file is good.
Tested it out and manicode really works (although had a false start when I tried to use the pip installation which just directs you to the npm installation haha)!
Nice well-written post :)
I’m surprised nobody has made this before, and am looking forward to trying it!
> Manicode has full access
It can read and write to your files, as well as run potentially risky commands in your terminal without any confirmation from the user.
I expect that if you want Manicode to go mainstream, you’ll get a lot of people who won’t try it because of this. Even if the LLM can’t directly access files outside the project directory and can only run bash commands from a whitelist, it can still write and run arbitrary code. So I’d bet that you’ll eventually end up building a docker container or similar sandbox into Manicode.
Sweet! Thanks for reading, and hope Manicode works for you!
Re running any terminal command: We'll see about that. Might have to make a market about this issue.
I currently don't see a problem with this, and expect that users will grow accustomed to it over time.
I don't think you need a sandbox, you need a review-before-apply process similar to cursor composer. I tried manicode but it didn't work for me because it would do wrong things confidently and there was no undo or review flow.
> It has full access to read and write to your files, run terminal commands, and scrape the web
This sounds legitimately scary.
Looks cool! Have you compared the v0 to Aider, Cursor, etc yet?
Yes! Thanks for the comment.
I think Manicode is better, although Cursor is better for some use cases, like when you know exactly what spot in the code to change. Cursor also feels way more polished.
Cursor has their own multi-file editor called Composer, but, like Aider, you have to explicitly add each file you want it to see, whereas manicode just figures out what files should be edited (and it's good at this!). It also adds extra files to context that might be relevant, and I think this is really helpful at generating the best code.
Also, only Manicode has access to your terminal, and can, e.g. run tests or run the compiler to check for errors.
I haven't actually tried Aider, but frankly I just assume I've already leapfrogged them haha. There are many such projects.
Ok, I take it back, maybe there is actually something to learn from Aider!
https://aider.chat/docs/faq.html
They've spent a lot longer building a very similar product and solved similar problems. I also send a file tree in the system prompt, and have used the typescript compiler to find all exported tokens, but their idea to use the tree sitter library to list the exported tokens per file is good.
Tested it out and manicode really works (although had a false start when I tried to use the pip installation which just directs you to the npm installation haha)!
Awesome! Thanks for trying it out. 🙏
Happy to hear any feedback on your experience. The best place to leave feedback is the Discord (https://discord.com/invite/mcWTGjgTj3)!