Zinnector®

La CLI de desarrollador para el alojamiento de WordPress

Zinnector® crea WordPress de manera local sin más instalación que Node —sin Docker, sin MAMP—, luego compara lo que has creado con el espacio de alojamiento en el que estás a punto de realizar el despliegue, te indica qué no coincidirá antes de que hagas el envío. Instálalo con npm install -g zinnector. Es gratuito, cuenta con licencia MIT y está desarrollado sobre la misma API pública que todo lo demás aquí.

Cinco comandos, y el del medio es el punto

La mayoría de las CLI de alojamiento comienzan en el despliegue. Zinnector® comienza antes: construye el sitio con usted y luego comprueba su trabajo en comparación con la máquina a la que está a punto de enviarlo. El espacio entre «funcionó en mi portátil» y «funciona en el servidor» es donde se van las tardes, y ese espacio es mensurable.

nuevo zinnector

Crea una estructura base para un sitio, un plugin o un tema de bloques que arranque de inmediato. Sin archivos de marcador de posición ni tareas pendientes: el plugin se activa y el tema se puede seleccionar en el mismo momento en que existe.

zinnector dev

Un WordPress real en su equipo en segundos, ejecutando sus propios plugins y temas, sin Docker y sin PHP en su PATH. Elija cualquier versión de PHP desde la 5.2 hasta la 8.5 para desarrollar.

comprobación de zinnector

El control previo al vuelo. Compara lo que ha creado con el espacio al que va a realizar el despliegue y señala cada discrepancia —y cada comprobación que no se haya podido realizar— antes de enviar los cambios.

zinnector push

Antes del despegue, envíe sus confirmaciones (*commits*), active el despliegue y vigílelo hasta que finalice. Si falla, el registro de compilación está a solo un comando de distancia.

zinnector ai

Pregunte al asistente desde la terminal, con su proyecto y su sitio como contexto. Funciona en la plataforma vinculado a su propia cuenta, por lo que nunca se almacena ninguna clave de modelo en su equipo.

Test it works in two minutes, no account needed

Six commands, in order, and what success looks like at each one. Everything here runs on your own machine; an API key is only needed when you reach a hosting slot.

  1. Install it

    Run npm install -g zinnector on Node 24 or newer. If npm prints EBADENGINE, your Node is older than 24 — install the current LTS from nodejs.org and run the install again.

  2. Check the version

    zinnector --version prints a version number such as 0.1.2. On a Node older than 24 it prints a message saying Node 24 or newer is needed, and exits.

  3. Read the help

    zinnector --help lists every command below with a one-line purpose. Every command also takes --help of its own.

  4. Scaffold a site

    zinnector new my-site creates a project that boots immediately — a zinnector.json, a wp-content tree and a README — and prints the next commands to run.

  5. Run it

    cd my-site, then zinnector dev. The first run asks once to download the WordPress runtime (about 570 MB, kept in the CLI’s own cache, never in your project). Success looks like “running at http://127.0.0.1:9400”.

  6. Open it in a browser

    http://127.0.0.1:9400 is a fresh WordPress site; /wp-admin opens the dashboard already signed in. Drop a plugin into wp-content/plugins and it is there on the next reload.

  7. Then, with a hosting slot

    zinnector login, zinnector link, zinnector check, zinnector push — pre-flight what you built against the slot, then deploy and watch it finish.

Detalles de la comprobación previa

Desarrollaste en PHP 8.3. El espacio de ejecución utiliza la versión 8.1. Nada te avisa hasta que el sitio se queda en blanco. Para eso existe este comando, y es el que el propietario de esta plataforma pidió expresamente. Zinnector® lee ambos entornos y los coloca uno al lado del otro; luego te permite desplegar de todas formas, porque podrías tener un motivo.

PHP, calificado con honestidad

Una diferencia de versión principal se marca como alta porque suele romper un sitio web; una diferencia menor se marca con menor prioridad. Calificar todo como crítico solo enseña a la gente a omitir la advertencia.

Espacio en disco y recuento de archivos, por separado

Un árbol de WordPress consta de decenas de miles de archivos pequeños, y un sitio puede agotar su asignación de inodos mientras se encuentra muy por debajo de su límite de disco. Ambos valores se comprueban con respecto a lo que realmente queda en el espacio asignado, no en función del plan.

«No se ha podido comprobar» es su propia respuesta

Una comprobación que no puede ver su objeto se declara no comprobada y nunca superada. Una ejecución limpia indica cuántas cosas no ha podido verificar, porque un falso visto bueno es el que nadie revisa dos veces.

Avisa, nunca bloquea

Cada hallazgo se puede omitir con --force, y el resumen lo indica. En CI, el código de salida actúa como filtro para que una canalización pueda ser estricta mientras una persona mantiene el control.

Dos entornos de ejecución locales, ambos reales

WordPress Playground es el valor predeterminado: PHP compilado en WebAssembly, ejecutándose dentro de Node, por lo que una computadora portátil con nada más que Node instalado pasa de cero a un WordPress en funcionamiento en aproximadamente el tiempo que toma leer esta oración.

Cuando necesite un PHP nativo —una extensión como imagick, un MySQL real—, pase --runtime docker y obtenga contenedores php-fpm y MariaDB en su lugar. Ambos sirven los mismos archivos desde el mismo proyecto, por lo que cambiar entre ellos modifica el motor y nada más.

Todo lo demás que ya hace en el panel

Zinnector® se basa en la misma API pública que el panel de control, por lo que todo lo que el panel puede hacer, puede hacerlo él, y cada comando es una operación documentada en la especificación OpenAPI en lugar de un endpoint privado.

Sitios y despliegues

Enumere los sitios, lea todo lo que la plataforma sabe sobre uno, vuelva a implementar y lea el historial de implementación y los registros de compilación.

Dominios, DNS y correo

Listar dominios, leer y cambiar registros DNS con el registro mostrado antes de que se escriba, y leer sus servicios de correo.

PHP, cuota, base de datos y registros

Cambie de versión de PHP, consulte el uso de disco e inodos en relación con lo que su plan le otorga, obtenga enlaces de un solo uso para phpMyAdmin y siga en tiempo real los registros de acceso y de errores.

WP-CLI y operaciones masivas

Ejecute comandos WP-CLI incluidos en la lista blanca en un sitio y purgue cachés o inicie análisis de malware en una selección completa con una sola llamada en lugar de una por sitio.

Every command, exactly as --help lists it

The full list, one line each. The complete reference — every flag, a runnable example and what each command prints — is generated from the CLI itself and lives in the developer docs and the knowledge base, so it cannot drift from the tool you have installed.

zinnector new

Scaffold a WordPress project you can run immediately.

zinnector dev

Run this project locally — no Docker required.

zinnector login

Sign in with a Zinn Digital® API key.

zinnector logout

Forget a stored API key.

zinnector whoami

Show who this CLI is authenticated as.

zinnector sites

List the sites this key can see.

zinnector status

Everything the platform knows about one site.

zinnector share

Give one person access to a single site — a developer, a designer, a client — with a role and a reason.

zinnector collaborators

See who has been given access to a site, their role, and whether they have accepted yet.

zinnector unshare

Take a person's access back, by email or grant id.

zinnector invitations

The invitations waiting for you, and accept one.

zinnector link

Point this project at a hosting slot (and connect its repository).

zinnector pull

Pull a hosted site's files into this project for local development, and re-run to re-sync. Takes the fast path when the site syncs to its own repository, otherwise works from the latest backup.

zinnector clone

Make a local project from a hosted site in one step: clone its repository or pull its files, write the project file, and leave you ready to run zinnector dev.

zinnector check

Compare this project against the slot you are about to deploy to.

zinnector push

Pre-flight, push your commits, and deploy.

zinnector deploy

Redeploy what the platform already has, without pushing.

zinnector deploys

A site's deploy history.

zinnector php

Show or switch a site's PHP version.

zinnector quota

Disk, files and database usage against what the plan grants.

zinnector db

Database size, and single-use links into phpMyAdmin and the file manager.

zinnector logs

Tail a site's access and error logs.

zinnector wp

Run an allow-listed WP-CLI command on a site.

zinnector backup

List and take site backups. Subcommands: list, now.

zinnector domains

List the domains this key can see.

zinnector dns

Read and change DNS records. Subcommands: list, add, rm.

zinnector mail

List mail services.

zinnector bulk

Run one operation across many sites (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Ask the Zinn Digital® assistant, with this project as context.

Preguntas

¿Necesito ser cliente de Zinn Digital® para usarlo?

No. `zinnector new` y `zinnector dev` no necesitan ninguna cuenta: cree la estructura de un complemento, un tema o un sitio entero y ejecútelo localmente, de forma gratuita y para siempre. Solo se necesita una clave de API para los comandos que se comunican con su alojamiento.

¿Necesita Docker?

No para el entorno de ejecución predeterminado. WordPress Playground compila PHP en WebAssembly y se ejecuta dentro de Node, por lo que `zinnector dev` inicia un WordPress real en segundos sin necesidad de instalar nada más. Si necesita un PHP nativo (para probar una extensión como imagick o ionCube), `--runtime docker` le ofrece contenedores de php-fpm y MariaDB en su lugar. Ambos son compatibles; ninguno es una alternativa secundaria.

¿Qué es lo que compara realmente la comprobación previa al vuelo?

Su versión local de PHP en comparación con la del slot, si el slot puede siquiera cambiar a la versión en la que compiló, si la versión de PHP del slot ha superado su ciclo de vida y si la máquina realmente la ha aplicado, el tamaño y el recuento de archivos de su proyecto en comparación con el espacio disponible en disco y los inodos restantes, las versiones de WordPress en cada lado, si el slot ha terminado el aprovisionamiento y si hay un repositorio de git conectado para realizar el despliegue. Todo aquello que no se haya podido comprobar se informa como no comprobado en lugar de contarse como superado.

¿Puede impedir que realice el despliegue?

No, y eso es deliberado. Las comprobaciones previas advierten y le permiten continuar; `--force` implementa a pesar de cualquier hallazgo. Usted conoce cosas sobre su propio sitio que un comprobador desconoce, y una herramienta que se niega a implementar es una herramienta que la gente desinstala.

¿Es segura mi clave de API?

La clave nunca se lee desde la línea de comandos, sino únicamente desde un aviso (prompt) o mediante una entrada estándar (stdin) canalizada, por lo que no puede terminar en el historial de su shell ni en un listado de procesos. Se almacena en su propio directorio de configuración con el modo de archivo 600, y Zinnector® vuelve a aplicar dichos permisos cada vez que escribe.

¿Puedo usarlo en CI?

Sí. Configure `ZINNECTOR_TOKEN`, y cada comando acepta `--json`. La salida humana va a stderr y los datos a stdout, por lo que las canalizaciones se mantienen limpias. `zinnector check` sale con un código distinto de cero cuando encuentra algo, por lo que funciona como un filtro de canalización, y `--strict` también falla cuando no se puede realizar una comparación.

Instálalo y pon en marcha un sitio en el próximo minuto

Ejecute npm install -g zinnector o pruébelo una vez con npx zinnector new my-site. Es gratuito, cuenta con licencia MIT y está construido sobre la API pública. Cree la estructura de un proyecto, ejecútelo localmente sin Docker y verifíquelo antes de implementarlo.

Leer la documentación