Skip to content

mydehq/MyCTL-Next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

176 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyCTL Logo

MyCTL Next

Architectural overhaul of MyCTL — A high-performance Linux desktop controller

MyCTL is a CLI tool built on a Lean Client / Fat Server architecture. A tiny Go binary proxies all commands to a persistent Python daemon, enabling zero-latency CLI response times, deep system integration, and a self-bootstrapping plugin ecosystem.

Architecture

myctl <command>  →  client Proxy  →  Unix Socket (IPC)  →  Python Daemon
                     (thin)                              (smart server)
  • Go Client (cmd/): Fetches the command schema from the daemon at runtime and builds a Cobra CLI tree dynamically.
  • Python Daemon (daemon/): Handles N-level command routing, plugin discovery, and native system integrations (PulseAudio, DBus).
  • Plugins (plugins/, ~/.local/share/myctl/plugins/): Self-contained Python packages declared via pyproject.toml.

Installation

From Source

Prerequisites: mise, go, python 3.14+, uv

git clone https://github.com/mydehq/myctl && cd myctl

# Install toolchain
mise install

# Build & install
mise run build

The compiled binary is placed at bin/myctl. Add it to your $PATH.

Usage

# Start the daemon (auto-started on first command)
myctl daemon start

# Run any command
myctl <plugin> <command> [args]

# Get help
myctl --help
myctl <plugin> --help

Plugin Development

Plugins are self-contained Python packages. Drop a folder into ~/.local/share/myctl/plugins/:

myplugin/
├── pyproject.toml   # manifest ([project] + [tool.myctl])
└── main.py          # registration via Plugin() + decorators

Plugin IDs come from the folder name, and main.py stays registration-only.

See the Plugin SDK Guide for the full reference.

Developer Documentation

The full technical documentation is available at the MyCTL Developer Portal:

Related


Made with ❤️ by the MyDE Team

About

Architectural overhaul of MyCTL - A powerful CLI to control your Linux Desktop

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors