Skip to main content

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:

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

  1. Set your OpenAI API key (if not already set):

    export OPENAI_API_KEY='your-api-key-here'
    
  2. Create your first project:

    getupandrun -p "React frontend with Node.js backend and Postgres database"
    
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getupandrun-0.1.1-py3-none-any.whl (107.9 kB view details)

Uploaded Python 3

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

Hashes for getupandrun-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 60ed83fda6da4d2f30ca60b7be071f1f0d7aa7f07255b66c10cda15300a3c7e8
MD5 f5571ec43d44d3ec4cf49f7e64a142c5
BLAKE2b-256 763adb18fb4393600e4700568afcaf908c1ee3c25c8a2cf63757c918826b0cd7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page