Try it like this:
> npm install -g manicode
> manicode
Hello. It’s been a month and a half since my post “Software automation will make us into Crazed-Super-Scientist Barons”.
In that piece, I postulate that LLM’s killer use case is generating code. When software becomes one-tenth as costly to write, it will unleash the “Crazed-Super-Scientist Barons”, i.e. entrepreneurs that use this newfound power to build amazing things.
I didn’t imagine that I would be building a coding tool that could help make this a reality!
AI Grant application
Here’s an excerpt from my application to the AI Grant accelerator, which does a good job explaining Manicode (more discussion below!):
Run manicode
in your terminal. Ask it to do any coding task. It will make changes to your files.
...and it will do a really good job. Why?
It has full access to read and write to your files, run terminal commands, and scrape the web
It can: grab files it needs for context, edit multiple files at once (no copy-pasting), run the type checker, run tests, install dependencies, and search for documentation.
These abilities are key to doing a good job and will only become more powerful as LLM's continue to level up.
It uses so-called "knowledge" files
LLM's perform so much better with extra context!
With Manicode, we've come up with this idea to check in
knowledge.md
files in any directory, and write down extra bits of context, like which 3 files you need to edit in order to create a new endpoint. Or which patterns are being deprecated and which should be used. Or which directories can import from other directories.Every codebase has lots of implicit knowledge like this that you have to impart to your engineers. Once written down, it makes Claude really fly! It's truly a night and day difference.
It's synchronous, and you can give feedback
You're chatting with it. It takes ~30 seconds to get back to you and then you can tell it what you want to do next or what it did wrong.
This keeps Manicode on track and aligned.
It learns
The flow of using Manicode is:
Ask it to do something
If it fails, point out its error
Manicode fixes the error and automatically writes down how it can improve for next time in a knowledge file
You push the commit, and now Manicode has become even more capable when the next engineer runs it in the codebase.
This is the magic loop that will make Manicode productive for experienced engineers in giant codebases.
We're unafraid to spend for better results
We can use as many parallel API calls with as much context as we can to produce the best code, because we know that the alternative is human labor, which is much more expensive.
We're targeting the largest market for software engineers
It's a tool for daily use by experts (not just junior engineers)
It's for software maintainers (not just people starting new projects)
We're starting with a console application, because it's simple and has great distribution
Every developer knows how to install new packages with npm or pip.
Most developers already have the terminal accessible: as a pane in your vscode window, for example.
The timing is right
Claude Sonnet 3.5 passed some bar of coding competence, and the form factor of a fully capable agent that can change any file works now, whereas before you could only reliably edit one function at a time.
There is a moat after all
Handling every tech stack well, knowing when to run their tests and type check, integrating with git, linear, slack, and email, supporting database migrations, etc, etc, etc. You can build hundreds or thousands of special case prompt magic to improve things so that it always just magically works the first time. A startup arriving at this 6 months late wouldn't catch up.
Intro video
Demo video
Why Manicode is the right product
"Wow, manicode is pretty great. I think by the end of the hour I'll have all the schema changes." - Manifold dev while I was writing this Substack piece
Manicode is just an LLM wrapper. But I think this is what works best.
The best code will continue to be generated by the best LLM on the market for the foreseeable future.
You could build a smaller, custom model. But it probably won’t have seen as much code as OpenAI’s or Anthropic’s models. It’s hard to compete with billions of dollars of investment!
Manicode gets user feedback quickly.
LLM’s are not quite good enough to go off on their own and continue to make progress.
They get stuck: sometimes they can’t fix a type error, or a test. They go off in a wrong direction: they pick the wrong design and keep building for that.
The best experience is thus going to a quicker feedback loop. Where the human can direct the AI every 30 seconds on what to do next, or what it did wrong. This is why Manicode is a synchronous conversation with the AI.
Manicode fills context well
Manicode’s genuine new idea is to write extra context as knowledge.md files and check it into your codebase, side-by-side with the actual code. Knowledge is anything you write that makes the actual agent work!
Other than that, Manicode knows the directory structure and chooses other relevant files to include automatically. This makes a big difference, especially because it can use the knowledge files to help it pick relevant files.
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.
That sounds incredibly scary, but is actually much less risky in reality, especially if you have version control.
What command could it run that would mess things up that much? The extra abilities only make it more useful.
This quality of doing something that normal people think "goes too far" or seems unsafe is a correlated with good startup ideas, because it means fewer people are likely to have thought of it. (E.g. For Airbnb: You let random strangers sleep in your house? Or Manifold: You let anyone ask and judge the resolution of their own question?)
The race is on
The most valuable application for LLM’s is right in front of us.
There are probably a hundred-plus startups vying to win with billions in investment. There could hardly be more at stake. The winner could be the next FAANG star, that brings the creative power of LLM’s to the world.
Bet on Manicode.
P.S. Join the Discord!
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.