⚑ Quick Start Guide

Get ChatrixCD up and running in 2 minutes! πŸš€

⏱️ Time to Success: ~2 minutes
πŸ“‹ What You'll Need: Matrix account, Semaphore UI access
🎯 What You'll Get: Fully working CI/CD bot in your chat!

Step 1️⃣: Download & Run

πŸ“¦ Download from the Download Page

βœ… No Python required! Pre-built binaries for Linux.

Visit the Download Page to get the latest binary for your platform.

# Example for x86_64:
wget https://github.com/CJFWeatherhead/ChatrixCD/releases/latest/download/chatrixcd-linux-x86_64.dist.tar.gz
tar -xzf chatrixcd-linux-x86_64.dist.tar.gz
cd chatrixcd-linux-x86_64.dist
./chatrixcd
βœ… Success! The bot will guide you through configuration if config.json doesn't exist. Keep this terminal open.

Step 2️⃣: Invite Bot to Your Room

In your Matrix client (Element, etc.):

1️⃣
Create or open a Matrix room
Can be encrypted or unencrypted
2️⃣
Invite your bot
Use the user_id from your config: @your-bot:matrix.org
3️⃣
Bot auto-accepts the invite
Look for a friendly greeting! πŸ‘‹

Step 3️⃣: Start Using Commands!

Try these commands in your Matrix room:

!cd help

πŸ“– See all available commands

!cd projects

πŸ“‹ List Semaphore projects

!cd templates 1

πŸ“„ List templates for project 1

!cd run 1 2

πŸš€ Run template 2 in project 1

!cd status

πŸ“Š Check last task status

!cd logs

πŸ“ View logs for last task


🧩 Advanced Run Options

You can pass tags and raw arguments when running a template:

  • Positional tags: !cd run 4 5 update,molecule
  • Flagged tags: !cd run 4 5 --tags=update,molecule
  • Raw args: !cd run 3 1 --args="--some --args -e"

Notes:

  • If the target template does not support tags/arguments, the bot will warn you and suggest running without them.
  • Quoted arguments are supported.

πŸ”– Command Aliases

Speed up common actions by creating your own shortcuts:

  • Add: !cd aliases add <alias> <command>
    • Works with prefixed or unprefixed commands
    • Example: !cd aliases add deploy run 4 5 --tags=prod --arg="--dry-run"
  • Remove: !cd aliases remove <alias>
  • List: !cd aliases

Aliases expand with any extra arguments you append when using them. For example, if deploy maps to run 4 5, then typing !cd deploy --tags=prod runs !cd run 4 5 --tags=prod.

Note: The base command must be a valid bot command; extra flags are passed through unchanged.


🎯 Example Workflow

Here’s a complete example of running a deployment:

You: !cd projects
Bot: πŸ“‹ Projects:
     1. Production Website
     2. API Server

You: !cd templates 1
Bot: πŸ“„ Templates for "Production Website":
     1. Deploy to Staging
     2. Deploy to Production

You: !cd run 1 2
Bot: πŸš€ Ready to run "Deploy to Production"?
     React with πŸ‘ to confirm or πŸ‘Ž to cancel

You: [React with πŸ‘]
Bot: βœ… Task started! Task ID: 42
     I'll keep you posted! πŸ“Š

[After a few minutes]
Bot: βœ… Task #42 completed successfully! πŸŽ‰
     Duration: 3m 24s

🎭 Easter Eggs

ChatrixCD has a fun personality! Try these hidden commands:

!cd pet

πŸ• Give the bot some love

!cd scold

πŸ˜” Bot feels bad

🀫 Shhh! These are undocumented features. Don't tell everyone! πŸ˜‰

πŸš€ Next Steps

βš™οΈ Configure More

Add custom aliases, configure log tailing, set up OIDC

Configuration Guide β†’

πŸ–₯️ Explore the TUI

Learn about the interactive terminal interface features

TUI Guide β†’

πŸš€ Deploy to Production

systemd, Docker, or native deployment options

Deployment Guide β†’

❓ Need Help?

Troubleshooting, FAQ, and getting support

Support Guide β†’

πŸŽ‰ You're All Set!

Your CI/CD automation is now chat-powered. Time to celebrate! 🎊