ChatrixCD Logo

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)

Getting Started

ChatrixCD makes it easy to manage CI/CD tasks through Matrix chat. Once installed and configured, you can:

  1. Invite the bot to your Matrix room
  2. List available projects with !cd projects
  3. View templates with !cd templates <project_id>
  4. Start tasks with !cd run <project_id> <template_id>
  5. 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.


Copyright © 2024 ChatrixCD Contributors. Distributed under the GNU GPL v3.0 License.