CLI tools to accelerate Wagtail web development with RhamaaCMS
Project description
Rhamaa CLI
A powerful CLI tool to accelerate Wagtail web development with prebuilt applications and project scaffolding.
🚀 Features
Project Management
- Project Creation: Generate new Wagtail projects using RhamaaCMS template
- App Registry System: Centralized registry of prebuilt applications
- Auto Installation: Download and install apps directly from GitHub repositories
App Management
- Prebuilt Apps: Ready-to-use applications for common use cases
- Auto Download: Automatically download apps from GitHub repositories
- Smart Extraction: Extract and organize files to proper project structure
- Force Install: Overwrite existing apps when needed
Developer Experience
- Rich Terminal UI: Beautiful ASCII art branding and colored output
- Progress Indicators: Real-time download and installation progress
- Error Handling: Comprehensive error messages and troubleshooting
- Project Validation: Automatic detection of Wagtail projects
📦 Available Apps
| App Name | Category | Description | Repository |
|---|---|---|---|
| mqtt | IoT | MQTT integration for Wagtail with real-time messaging | mqtt-apps |
| users | Authentication | Advanced user management system | users-app |
| articles | Content | Blog and article management system | articles-app |
| lms | Education | Complete Learning Management System | lms-app |
🛠 Installation
From PyPI (Beta)
# Install the latest beta version
pip install rhamaa==0.1.0b1
# Or install the latest pre-release
pip install --pre rhamaa
Development Setup
# Clone the repository
git clone https://github.com/RhamaaCMS/RhamaaCLI.git
cd RhamaaCLI
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
# Install in development mode
pip install -e .
📖 Usage
Basic Commands
# Show help and available commands
rhamaa
# Create a new Wagtail project
rhamaa start MyProject
# List available apps
rhamaa add --list
rhamaa registry list
# Install an app
rhamaa add mqtt
# Get app information
rhamaa registry info mqtt
# Force install (overwrite existing)
rhamaa add mqtt --force
App Installation Workflow
- Check Available Apps:
rhamaa add --list - Install App:
rhamaa add <app_name> - Follow Instructions: Add to INSTALLED_APPS and run migrations
- Configure: Check app's README for additional setup
Registry Management
# List all apps by category
rhamaa registry list
# Get detailed app information
rhamaa registry info <app_name>
# Update registry (coming soon)
rhamaa registry update
🏗 Project Structure
rhamaa/
├── __init__.py # Package initialization
├── cli.py # Main CLI entry point and help system
├── registry.py # App registry management
├── utils.py # Utility functions (download, extract)
└── commands/ # Command modules directory
├── __init__.py # Commands package init
├── add.py # 'add' command implementation
├── start.py # 'start' command implementation
└── registry.py # 'registry' command implementation
🔧 Development
Adding New Apps to Registry
Edit rhamaa/registry.py:
APP_REGISTRY = {
"your_app": {
"name": "Your App Name",
"description": "App description",
"repository": "https://github.com/RhamaaCMS/your-app",
"branch": "main",
"category": "Category"
}
}
Testing Commands
# Test main command
rhamaa
# Test project creation
rhamaa start TestProject
# Test app installation
rhamaa add mqtt
# Test registry commands
rhamaa registry list
rhamaa registry info mqtt
Building Distribution
# Build distribution packages
python setup.py sdist bdist_wheel
# Install from local build
pip install dist/rhamaa-*.whl
🎯 Use Cases
For Wagtail Developers
- Quickly bootstrap new projects with proven architecture
- Add common functionality without writing from scratch
- Standardize project structure across team
For Teams
- Consistent project setup across developers
- Reusable components and applications
- Faster development cycles
For IoT Projects
- MQTT integration with
rhamaa add mqtt - Real-time data monitoring and management
- Wagtail admin integration for IoT devices
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
This project is part of the RhamaaCMS ecosystem.
🔗 Links
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- RhamaaCMS: Main Repository
Made with ❤️ by the RhamaaCMS team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rhamaa-0.2.0b1.tar.gz
(61.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
rhamaa-0.2.0b1-py3-none-any.whl
(24.4 kB
view details)
File details
Details for the file rhamaa-0.2.0b1.tar.gz.
File metadata
- Download URL: rhamaa-0.2.0b1.tar.gz
- Upload date:
- Size: 61.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
faa42e43a9a7019b0e8a35116406714ffbbd28e521f7afa11cdb3bad880073d0
|
|
| MD5 |
ae1cb90aa3725d9e2bd436f1c7376140
|
|
| BLAKE2b-256 |
1b28bca7249e2aada765d3bb6f267a505bc32e4b4867dcc653017f258db9b6f6
|
File details
Details for the file rhamaa-0.2.0b1-py3-none-any.whl.
File metadata
- Download URL: rhamaa-0.2.0b1-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d37d21697d6c1ee69393ff7993f1c8d535c8a082b0ad731036717ef4711e0f68
|
|
| MD5 |
a868c4f4cd4378974d650642d0164e69
|
|
| BLAKE2b-256 |
6d8a3f2de1cfd81b1f57ff427be9d5b4772a16f96a985882f255ad2fe7285764
|