A CLI tool that scaffolds development environments from natural language descriptions using GPT
Project description
GetUpAndRun
A command-line tool that enables developers to go from an idea to a running development environment in minutes. By combining GPT-based natural language understanding with automated environment setup via Docker Compose, it lets users describe an app in plain English and automatically scaffolds, installs, and runs the entire stack locally.
Example
getupandrun "Build me an app with a React frontend, a Python backend, and a Postgres database"
The system interprets the request, scaffolds the project structure, installs dependencies, and sets up all containers locally.
Installation
Prerequisites
Before installing GetUpAndRun, ensure you have:
- Python 3.9 or higher - Check with
python --versionorpython3 --version - Docker and Docker Compose - Required for container orchestration
- Install Docker: https://docs.docker.com/get-docker/
- Docker Compose is included with Docker Desktop
- Git (optional) - For version control integration
- OpenAI API key - Get one at https://platform.openai.com/api-keys
Quick Install (Recommended)
# Install from PyPI
pip install getupandrun
# Set your OpenAI API key
export OPENAI_API_KEY='your-api-key-here'
# Verify installation
getupandrun --version
Install from Source (Development)
# Clone the repository
git clone https://github.com/your-org/getupandrun.git
cd getupandrun
# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode with all dependencies
pip install -e ".[dev]"
# Set your OpenAI API key
export OPENAI_API_KEY='your-api-key-here'
Verify Installation
# Check version
getupandrun --version
# View help
getupandrun help
# Test with a simple prompt
getupandrun -p "React app"
Usage
Quick Start
-
Set your OpenAI API key (if not already set):
export OPENAI_API_KEY='your-api-key-here'
-
Create your first project:
getupandrun -p "React frontend with Node.js backend and Postgres database"
-
Start the services:
cd <project-name> make up
Main Command Options
| Option | Short | Description |
|---|---|---|
--prompt |
-p |
Natural language description of the stack you want to create |
--name |
-n |
Custom project name (defaults to GPT-generated name) |
--mode |
-m |
Mode selection: local (default) or cloud (future) |
--start |
-s |
Automatically start services after scaffolding |
--help |
-h |
Show detailed help message |
Environment Management Commands
After creating a project, manage it with these commands:
# Start services
getupandrun start ./my-project
# Check status
getupandrun status ./my-project
# View logs
cd ./my-project && make logs
# Stop services
getupandrun stop ./my-project
# Restart services
getupandrun restart ./my-project
# Remove containers (with volumes)
getupandrun teardown ./my-project -v
Examples
# Create a React + Node.js + Postgres stack
getupandrun -p "React frontend with Node.js backend and Postgres database"
# Create with custom name
getupandrun -p "FastAPI backend with Redis" -n my-api-project
# Create and automatically start services
getupandrun -p "Django app with Postgres" --start
# View comprehensive help
getupandrun help
Web UI
GetUpAndRun includes a simple web interface for users who prefer a GUI over the command line.
Starting the Web UI
# Start the UI server
getupandrun ui
# Or specify a custom port
getupandrun ui --port 3001
The UI will automatically open in your browser at http://localhost:3000 (or your specified port).
Features
- Template Selection: Browse and select from predefined templates
- Custom Prompts: Enter natural language descriptions of your project
- Settings Management: Configure where projects are created
- Project Creation: Create projects with a simple form interface
Web UI vs CLI
- CLI: Full-featured, scriptable, faster for experienced users
- Web UI: User-friendly, visual, great for demos and beginners
Both interfaces use the same underlying engine, so projects created via either method are identical.
For more details, see the UI README.
What Gets Generated
GetUpAndRun creates a complete, production-ready project structure:
- Service directories with framework-specific boilerplate
- Dockerfiles optimized for each service type
- docker-compose.yml with proper service orchestration
- .env file with environment variables
- Makefile with common commands (
make up,make down,make clean, etc.) - README.md with project-specific documentation
- .gitignore file for version control
Supported Stacks
GetUpAndRun can generate projects with:
- Frontend: React, Vue, Angular, Next.js
- Backend: Node.js (Express), Python (FastAPI, Django, Flask), Go, Rust
- Databases: PostgreSQL, MySQL, MongoDB, SQLite
- Cache: Redis, Memcached
- Message Queues: RabbitMQ, Kafka
- And more - GPT interprets your description and suggests appropriate technologies
Development
Setup Development Environment
# Install development dependencies
pip install -e ".[dev]"
# Run code formatter
black src/ tests/
# Run linters
flake8 src/ tests/
pylint src/ tests/
# Run tests
pytest
Project Structure
getupandrun/
├── src/
│ └── getupandrun/
│ ├── cli/ # CLI entry point and commands
│ ├── utils/ # Logging and utility functions
│ ├── gpt/ # GPT integration (PR 2)
│ ├── scaffold/ # Scaffolding engine (PR 3)
│ └── environment/ # Docker Compose orchestration (PR 4)
├── tests/ # Test files
├── templates/ # Template files for scaffolding
└── pyproject.toml # Project configuration
Roadmap
- Phase 1 (MVP): Local CLI + GPT + Docker Compose
- Phase 2: User Experience & Template Expansion
- Phase 3: Cloud Mode & Kubernetes
- Phase 4: Developer Quality-of-Life Enhancements
- Phase 5: Future-Proofing
See tasks.md for detailed roadmap.
License
MIT
Contributing
Contributions are welcome! Please see the project roadmap in tasks.md for current priorities.
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file getupandrun-0.1.1-py3-none-any.whl.
File metadata
- Download URL: getupandrun-0.1.1-py3-none-any.whl
- Upload date:
- Size: 107.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60ed83fda6da4d2f30ca60b7be071f1f0d7aa7f07255b66c10cda15300a3c7e8
|
|
| MD5 |
f5571ec43d44d3ec4cf49f7e64a142c5
|
|
| BLAKE2b-256 |
763adb18fb4393600e4700568afcaf908c1ee3c25c8a2cf63757c918826b0cd7
|