ChatrixCD
Matrix bot for CI/CD automation through chat
Features
- 🔐 Native Matrix Authentication: Support for password and OIDC/SSO authentication with Matrix servers
- 🔒 E2E Encryption: Full support for end-to-end encrypted Matrix rooms with device verification
- 🖥️ Interactive TUI: Text User Interface for bot management, monitoring, and configuration
- 🚀 Semaphore UI Integration: Start and monitor CI/CD tasks via chat commands
- 📊 Real-time Updates: Automatic status updates for running tasks
- 🎯 Command-based Interface: Easy-to-use command system for task management
- 🔧 Flexible Configuration: JSON config files with HJSON support (comments and trailing commas)
Quick Links
Getting Started
ChatrixCD makes it easy to manage CI/CD tasks through Matrix chat. Once installed and configured, you can:
- Invite the bot to your Matrix room
- List available projects with
!cd projects
- View templates with
!cd templates <project_id>
- Start tasks with
!cd run <project_id> <template_id>
- Monitor progress automatically
Installation
Prerequisites
- Python 3.9 or higher
- Access to a Matrix homeserver
- Access to a Semaphore UI instance with API access
Quick Install
git clone https://github.com/CJFWeatherhead/ChatrixCD.git
cd ChatrixCD
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .
For detailed installation instructions, see the Installation Guide.
Support
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.