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.1.0.tar.gz (16.4 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.1.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prarabdha_ai-1.1.0.tar.gz
  • Upload date:
  • Size: 16.4 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.1.0.tar.gz
Algorithm Hash digest
SHA256 32b2811f312632668532c3987e13aa532d09e869f66bdb0c13eab7a47c79fcd6
MD5 773437e4fc6d86afd531fb920234a5d3
BLAKE2b-256 0c8a350c483dbf6905e850f377a591b011b374ef2112f70b9b7af6fe9d831439

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prarabdha_ai-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d47929902b748182e8f03a72ded9ccbceecfab2843b507722fa950229eca223
MD5 8e26b29a9ee40947ba8ef50dfbc1d89c
BLAKE2b-256 a1947e36fb61d5fe4b94fb1e042ac408f11e981f53e1b23ba9c6999686cdd6b3

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