Skip to main content

A CLI tool for scaffolding backend services with interactive menus

Project description

Prarabdha 🚀

A powerful CLI tool for scaffolding backend services with interactive menus. Get started quickly with your favorite programming languages and frameworks.

Features

  • Interactive CLI: User-friendly menus for project setup
  • Multiple Languages: Support for Python, Java, and Node.js
  • Framework Support: Flask, FastAPI for Python
  • Quick Start/Stop: Easy project management
  • Deployment Ready: Deploy to Heroku, Railway, or Render
  • Extensible: Easy to add new languages and frameworks

Installation

Install Prarabdha using pip:

pip install prarabdha

Quick Start

1. Start a New Project

prarabdha start

This will launch an interactive menu where you can:

  • Choose your programming language (Python, Java, Node.js)
  • Select frameworks (for Python: Flask or FastAPI)
  • Set project name and output directory

2. Deploy Your Project

prarabdha deploy <project-path>

Deploy to free backend-as-a-service platforms:

  • Heroku: Full CLI integration
  • Railway: Modern deployment platform
  • Render: Web-based deployment

3. Stop Running Projects

prarabdha stop <project-path>

Stop any running processes for your project.

Supported Languages and Frameworks

Python

  • Flask: Lightweight web framework
  • FastAPI: Modern, fast web framework with automatic API documentation

Java

  • Spring Boot: Enterprise-grade Java framework

Node.js

  • Express: Fast, unopinionated web framework

Project Structure

Each scaffolded project includes:

  • Production-ready boilerplate with best practices
  • Health check endpoints for monitoring
  • CORS configuration for frontend integration
  • Environment configuration with .env files
  • Comprehensive documentation with setup instructions
  • Git configuration with appropriate .gitignore

Example Usage

Python Flask Project

$ prarabdha start
🚀 Prarabdha
Backend Service Scaffolding Tool

Enter project name: my-flask-api
Enter output directory: /path/to/projects

Select a programming language:
  1. Python
  2. Java
  3. Node.js

Enter your choice: 1

Select a Python framework:
  1. Flask
  2. FastAPI

Enter your choice: 1 Project 'my-flask-api' created successfully!
📁 Location: /path/to/projects/my-flask-api

🚀 Next steps:
    Navigate to your project directory
    Install dependencies
    Run your project

Deploy to Heroku

$ prarabdha deploy ./my-flask-api
Select a deployment service:
  1. Heroku
  2. Railway
  3. Render

Enter your choice: 1

Deploying to Heroku...
Enter Heroku app name: my-awesome-api
✅ Heroku app created successfully!
✅ Deployment successful!

Development

Prerequisites

  • Python 3.8+
  • pip

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/prarabdha/prarabdha.git
cd prarabdha
  1. Install in development mode:
pip install -e .
  1. Run tests:
python -m pytest

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Adding New Languages/Frameworks

  1. Create a new scaffolder in prarabdha/scaffolders/
  2. Implement the create_project method
  3. Add the language option to the CLI
  4. Update documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Roadmap

  • Support for more languages (Go, Rust, C#)
  • Database integration templates
  • Docker support
  • CI/CD pipeline templates
  • Monitoring and logging setup
  • Authentication templates

Made with ❤️ by the Prarabdha team

Project details


Download files

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

Source Distribution

prarabdha_ai-1.3.0.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

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

prarabdha_ai-1.3.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file prarabdha_ai-1.3.0.tar.gz.

File metadata

  • Download URL: prarabdha_ai-1.3.0.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for prarabdha_ai-1.3.0.tar.gz
Algorithm Hash digest
SHA256 fb2c58d44f391c815cd52debf86f14d5d569535d0ca7165556c3a1c52e7e11a9
MD5 c916c915c99bb35e09c8541dc9de5691
BLAKE2b-256 d7f5a625f171b120667394a0a0660a1d6f208f34176ba07926994020e885f654

See more details on using hashes here.

File details

Details for the file prarabdha_ai-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: prarabdha_ai-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for prarabdha_ai-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5872ae0383025507cef24fe38080e2361389a1ed5635ce8c84487fb52f4ffef
MD5 e35a7647769a5a4f772872b018736ac0
BLAKE2b-256 123dbc39d2d656bd6c55f08cde70fb46ef638be02e376cbc2e14077d9ebba7c7

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