Content Management System Management (cmsmgmt) is a command-line tool written in Go for inspecting and managing local installations of WordPress and Joomla. It can detect the CMS type in a given directory, extract the database configuration from the CMS configuration file, connect to the database, list user accounts, edit user details, and show general or version information.
- Automatic CMS detection – Point
cmsmgmtat the root of your CMS installation using the-p/--pathflag (or run it in the CMS directory), and it will determine whether you are working with WordPress or Joomla by looking forwp-config.phporconfiguration.php. - Database configuration parsing – Reads your CMS configuration to determine connection details for MySQL/PostgreSQL (Joomla) or MySQL (WordPress), including host, port, username, password and database name.
- List users – Enumerates all user accounts in your CMS. For WordPress it reports the username, e-mail, role and other metadata; for Joomla it shows ID, username, name, email and roles.
- Edit users – Allows you to update user information (name and e-mail) for both WordPress and Joomla. Run
cmsmgmt users edit <username>and follow the prompts. - CMS information – Displays general information about the CMS and version number. The
info dbcommand prints the database name, database user and detected table prefixes.info versionprints the WordPress or Joomla version (and release for Joomla). - Cross-database support – Joomla installations can be backed by MySQL or PostgreSQL. WordPress support currently assumes MySQL.
This project is written in Go. To build from source you need Go ≥ 1.24:
git clone https://github.com/earentir/cmsmgmt.git
cd cmsmgmt
go build -o cmsmgmtAlternatively, you can install the latest version into your $GOBIN using:
go install github.com/earentir/cmsmgmt@latestThe resulting binary can be copied anywhere on your PATH.
Run cmsmgmt --help to see top-level usage. The basic pattern is:
cmsmgmt [--path /path/to/cms] <command> [subcommand] [flags]If --path is omitted, cmsmgmt assumes the current working directory is the root of your CMS installation.
# From within the CMS root directory
cmsmgmt users list
# Or specify the CMS path explicitly
cmsmgmt --path /var/www/html users list# Display DB information such as DB name, DB user and table prefixes
cmsmgmt info db
# Show CMS version (and release for Joomla)
cmsmgmt info version# Edit the user with username "admin"
cmsmgmt users edit adminWhen you edit a user, cmsmgmt will connect to the database and update the user's name and e-mail address.
Future enhancements may include:
- Changing passwords for Joomla and WordPress users.
- Additional CMS support beyond WordPress and Joomla.
- More detailed reporting on CMS configuration and security settings.
This project follows the Linux Kernel licence (GPL v2). If you require another open licence, please open an issue and we will try to accommodate it.