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_cli-1.0.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

prarabdha_cli-1.0.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file prarabdha_cli-1.0.0.tar.gz.

File metadata

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

File hashes

Hashes for prarabdha_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b81d53994b77b88e5a2e2e67812298941c22804bc898c0db243d55bbb0b6550f
MD5 60cf75881a4158ccbd0211560a608bad
BLAKE2b-256 5d8aca3b22b354744a650a9ce27370a12df58f4353b8713d152d2795b754100c

See more details on using hashes here.

File details

Details for the file prarabdha_cli-1.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for prarabdha_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3162dbe6e69297ca91c9005835df11592443f7e797713aafbd28318088cd9a3d
MD5 f1ac9157ffa5340e9b7f94570e1d9d02
BLAKE2b-256 9058bcbe927ec065fc431d1c9f43472610cd60b738b74c52412724124030ae73

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