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-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-1.0.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prarabdha-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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0a9df2e1f74f6bffc68bc08353584c26cf4acee7ea988b041bf8de320dcd6e49
MD5 fdcc79ebe640bf04f370fe4d03ed24e4
BLAKE2b-256 151854aba24028b93b7b93e4337e2bd6c0453a58e59a85d2eee8ec3c61d17089

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for prarabdha-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cf5832e4de71f9bd274b60c7ff2231a09b1d9de92414ec9fd57ece7b6a63033
MD5 6c7dafbdb76b12541ae2240c031dc83f
BLAKE2b-256 122fa9fe03a26396b5235c0f22934ce780c2e74e2fdb85e0082d2e5d62e48e66

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