yoheinakajima/ditto has 1,068 GitHub stars and 159 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 10:44 UTC. Last push 2024-10-19.
the simplest self-building coding agent
What you can do
- Simple Natural Language Input: Just describe the application you want to build in plain English.
- Automated Code Generation: Generates routes, templates, and static files based on your description.
- Self-Building Agent: Automatically plans and constructs the application without the need for manual coding.
- Modular Structure: Organizes code into a clean, modular structure with separate directories for templates, static files, and routes.
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalDitto
Ditto - the simplest self-building coding agent.
Ditto is a user-friendly tool that allows you to generate a multi-file Flask application from simple natural language descriptions using a no-code interface. By leveraging a simple LLM loop with a few tools, Ditto automates the coding process, (occasionally) turning your ideas into functional web applications (or at least trying and getting close).
Features
- Simple Natural Language Input: Just describe the application you want to build in plain English.
- Automated Code Generation: Generates routes, templates, and static files based on your description.
- Self-Building Agent: Automatically plans and constructs the application without the need for manual coding.
- Modular Structure: Organizes code into a clean, modular structure with separate directories for templates, static files, and routes.
Getting Started
Prerequisites
- Python 3.7 or higher
pippackage manager
Installation
Clone the Repository
git clone https://github.com/yoheinakajima/ditto.git cd dittoCreate a Virtual Environment (Optional but Recommended)
python3 -m venv venv source venv/bin/activate # On Windows, use venv\Scripts\activateInstall Dependencies
pip install litellm
Setting the OPENAI_API_KEY
To use Ditto, you'll need to set the OPENAI_API_KEY in your environment. Here are two options for doing that:
Option 1: Temporary Setup in Terminal
For macOS/Linux:
export OPENAI_API_KEY=your-openai-api-key
For Windows (Command Prompt):
set OPENAI_API_KEY=your-openai-api-key
For Windows (PowerShell):
$env:OPENAI_API_KEY="your-openai-api-key"
Run the application:
python main.py
Option 2: Persistent Setup using a .env File (Recommended)
Install the
python-dotenvpackage to load environment variables from a.envfile:pip install python-dotenvCreate a
.envfile in the root of the project directory and add your API key:OPENAI_API_KEY=your-openai-api-keyRun the application as usual:
python main.py
Usage
Run the Application
python main.pyAccess the Web Interface
Open your web browser and navigate to
http://localhost:8080.Describe Your Application
On the home page, you'll find a form where you can describe the Flask application you want to create.
Monitor Progress
After submitting your description, the application will process your request. You can monitor the progress in real-time.
View the Generated Application
Once the process is complete, you can rerun the Flask app to interact with your newly generated Flask application.
python main.py
Contribution
This is a quick exploration, so I have no plans to work on this further. Contributions are welcome, especially if they are awesome, but ping me on X/Twitter because I don't check PRs often. I'm basically going to try to bake this into the new BabyAGI framework, but give it the ability to store and save functions from the database. If this sounds like a fun challenge and you get it working, definitely let me know :)
License
This project is licensed under the MIT License - see the LICENSE file for details.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,398 starspublic-apis/public-apis
A collective list of free APIs
497,679 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
447,495 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,261 stars