AI-powered app generation CLI tool
Project description
🚀 AppCannon
AppCannon is a powerful tool that generates full-stack web applications from a simple YAML specification file. It leverages the power of Large Language Models (LLMs) to create a complete application with a frontend, backend, and database, all with just a single command.
Features
- 💪 Generates a complete web app from a concise YAML spec file
- 🎨 Supports any frontend
- 🔧 Generates backend code in any language
- 📊 Integrates with all databases
- 📝 Creates a comprehensive README.md file for the generated app
- 🗂️ Organizes the generated code into a clean project structure
- ⚙️ Supports multiple models including claude-3-5-sonnet-2024-0620 and gpt-4o
Installation
-
Clone the AppCannon repository:
git clone https://github.com/255BITS/appcannon.git
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up your API key as an environment variable:
export OPENAI_API_KEY=your_openai_api_key_here # or if using Claude export ANTHROPIC_API_KEY=your_anthropic_api_key_here
Usage
To generate a web app using AppCannon, run the following command:
python appcannon.py spec_file.yaml output_directory [options]
spec_file.yaml
: The path to the YAML specification file for your app.output_directory
: The directory where the generated app files will be saved.
Optional arguments:
-f
or--frontend
: The frontend framework to use (default: "htmx with tailwind.css").-b
or--backend
: The backend framework to use (default: "flask/python3").-d
or--database
: The database to use (default: "sqlite").-g
or--git
: The target Git repository for the generated app.-m
or--model
: The model name to use for generation.-l
or--log
: Optional. Specify a log file to record the generation process.
Example
Here's an example of how to use AppCannon:
python appcannon.py examples/todo_app.yaml generated_apps/todo_app -frontend "react" -backend "node/express" -database "mongodb" -model "claude-3-5-sonnet-20240620"
This command will generate a todo app using React for the frontend, Node.js with Express for the backend, and MongoDB as the database. The generated app files will be saved in the generated_apps/todo_app
directory.
Changelog
- Nov 9 2024 - Added CLI flags, support for Claude Sonnet 3.5 model
- May 13 2024 - GPT4o support
- Apr 27 2024 - Initial release
Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
License
AppCannon is dual-licensed under both the MIT License and a Commercial License.
MIT License
The MIT License is a permissive open-source license that allows you to freely use, modify, and distribute AppCannon for any purpose, subject to the terms and conditions of the license. Under this license, AppCannon is provided "as is" without warranty of any kind.
See the LICENSE-MIT file for the full text of the MIT License.
Commercial License
For users or organizations generating revenue over $10,000 per month or who have raised funding, we request that you purchase a Commercial License to support the ongoing development and maintenance of AppCannon.
The Commercial License provides the following additional benefits:
- Priority support and assistance from the AppCannon team
- Custom feature development and integration services
- Legal assurances and indemnification for the use of AppCannon
- The ability to influence the project roadmap and prioritization
To inquire about purchasing a Commercial License, please contact us at martyn+sales@255bits.com.
We appreciate your support in keeping AppCannon a sustainable open-source project!
Part of the 255labs.xyz toolkit for AI-first development.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file appcannon-0.1.0.tar.gz
.
File metadata
- Download URL: appcannon-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd0f909c7dd503aa2744935f619916e5ab10f0cbb03dadb33c50b107d5e8c7c7 |
|
MD5 | af3a3a5d6b9c8b792fbee4271b79fd8a |
|
BLAKE2b-256 | 9027f1def127892ab303464f1b7c05ef45980137e83fe8a9a73922c4e47bb59a |
File details
Details for the file appcannon-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: appcannon-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f60fae950aba2d9d285d2ae346bdaa4d7c5fabfee7902b0c090eeb7c0a94292 |
|
MD5 | f4c1d19e79fbdecd20a3a85b79eb642c |
|
BLAKE2b-256 | d4c32c419bcd98bd36f20032c8b65f046bc3da4ad0514c88bffef30f4fc31ce1 |