# Guía Completa de Comandos de Firebase CLI
A continuación se presenta una lista exhaustiva de todos los comandos disponibles en la Interfaz de Línea de Comandos (CLI) de Firebase, ideal para tener como referencia rápida.
---
## Opciones Globales
`-V, --version` : Muestra el número de versión.
`-P, --project <alias_or_project_id>` : Especifica el proyecto de Firebase a usar.
`--account <email>` : Especifica la cuenta de Google para la autorización.
`-j, --json` : Devuelve la salida en formato JSON.
`--token <token>` : (Obsoleto) Proporciona un token de autenticación.
`--non-interactive` : Evita las solicitudes interactivas.
`-i, --interactive` : Fuerza la aparición de solicitudes interactivas.
`--debug` : Imprime salida de depuración detallada.
`-c, --config <path>` : Especifica la ruta al archivo `firebase.json`.
`-h, --help` : Muestra ayuda para un comando.
---
## Comandos Principales
### App Distribution
- `appdistribution:distribute [options] <release-binary-file>`: Sube un binario y lo distribuye a testers.
- `appdistribution:testers:list [group]`: Lista los testers de un proyecto.
- `appdistribution:testers:add [options] [emails...]`: Añade testers a un proyecto.
- `appdistribution:testers:remove [options] [emails...]`: Elimina testers de un proyecto.
- `appdistribution:groups:list`: Lista los grupos de App Distribution.
- `appdistribution:groups:create <displayName> [alias]`: Crea un grupo de App Distribution.
- `appdistribution:groups:delete <alias>`: Elimina un grupo de App Distribution.
- `appdistribution:testcases:export [options] <test-cases-yaml-file>`: Exporta casos de prueba a un archivo YAML.
- `appdistribution:testcases:import [options] <test-cases-yaml-file>`: Importa casos de prueba desde un archivo YAML.
### Apps
- `apps:create [options] [platform] [displayName]`: Crea una nueva app de Firebase (IOS, ANDROID, WEB).
- `apps:list [platform]`: Lista las apps registradas en un proyecto.
- `apps:init [options] [platform] [appId]`: Descarga y crea automáticamente la configuración de una app.
- `apps:sdkconfig [options] [platform] [appId]`: Imprime la configuración de Google Services de una app.
- `apps:android:sha:list <appId>`: Lista los hashes de certificado SHA para una app de Android.
- `apps:android:sha:create <appId> <shaHash>`: Añade un hash de certificado SHA para una app de Android.
- `apps:android:sha:delete <appId> <shaId>`: Elimina un hash de certificado SHA para una app de Android.
### Authentication
- `auth:export [options] [dataFile]`: Exporta las cuentas de usuario a un archivo.
- `auth:import [options] [dataFile]`: Importa usuarios desde un archivo (.csv o .json).
### Crashlytics
- `crashlytics:symbols:upload [options] <symbolFiles...>`: Sube archivos de símbolos para código nativo.
- `crashlytics:mappingfile:generateid [options]`: Genera un ID de archivo de mapeo.
- `crashlytics:mappingfile:upload [options] <mappingFile>`: Sube un archivo de mapeo compatible con ProGuard/R8.
### Realtime Database
- `database:get [options] <path>`: Obtiene e imprime datos JSON en una ruta específica.
- `database:import [options] <path> [infile]`: Importa el contenido de un archivo JSON a la base de datos.
- `database:instances:create [options] <instanceName>`: Crea una instancia de Realtime Database.
- `database:instances:list [options]`: Lista las instancias de Realtime Database.
- `database:profile [options]`: Perfila la base de datos y genera un informe de uso.
- `database:push [options] <path> [infile]`: Añade un nuevo objeto JSON a una lista de datos.
- `database:remove [options] <path>`: Elimina datos en una ruta específica.
- `database:set [options] <path> [infile]`: Almacena datos JSON en una ruta específica.
- `database:settings:get [options] <path>`: Lee una configuración de la base de datos.
- `database:settings:set [options] <path> <value>`: Establece una configuración de la base de datos.
- `database:update [options] <path> [infile]`: Actualiza algunas claves en una ruta definida.
### Firestore
- `firestore:delete [options] [path]`: Elimina datos de una base de datos Cloud Firestore.
- `firestore:bulkdelete [options]`: Servicio de eliminación masiva gestionada.
- `firestore:indexes [options]`: Lista los índices en una base de datos.
- `firestore:locations`: Lista las posibles ubicaciones para tu base de datos.
- `firestore:operations:cancel [options] <operationName>`: Cancela una operación de administrador de larga duración.
- `firestore:operations:describe [options] <operationName>`: Obtiene información sobre una operación.
- `firestore:operations:list [options]`: Lista las operaciones de administrador pendientes.
- `firestore:databases:list`: Lista las bases de datos de Cloud Firestore.
- `firestore:databases:get [database]`: Obtiene información sobre una base de datos.
- `firestore:databases:create [options] <database>`: Crea una base de datos.
- `firestore:databases:update [options] <database>`: Actualiza una base de datos.
- `firestore:databases:delete [options] <database>`: Elimina una base de datos.
- `firestore:databases:restore [options]`: Restaura una base de datos desde una copia de seguridad.
- `firestore:databases:clone [options] <sourceDatabase> <targetDatabase>`: Clona una base de datos.
- `firestore:backups:schedules:list [options]`: Lista los horarios de copia de seguridad.
- `firestore:backups:schedules:create [options]`: Crea un horario de copia de seguridad.
- `firestore:backups:schedules:update [options] <backupSchedule>`: Actualiza un horario de copia de seguridad.
- `firestore:backups:schedules:delete [options] <backupSchedule>`: Elimina un horario de copia de seguridad.
- `firestore:backups:list [options]`: Lista todas las copias de seguridad.
- `firestore:backups:get <backup>`: Obtiene una copia de seguridad específica.
- `firestore:backups:delete [options] <backup>`: Elimina una copia de seguridad.
### Cloud Functions
- `functions:config:clone [options]`: Clona la configuración de entorno de otro proyecto.
- `functions:config:export [options]`: Exporta la configuración de entorno.
- `functions:config:get [path]`: Obtiene la configuración de entorno.
- `functions:config:set [values...]`: Establece la configuración de entorno.
- `functions:config:unset [keys...]`: Elimina una configuración de entorno.
- `functions:delete [options] [filters...]`: Elimina una o más funciones.
- `functions:log [options]`: Lee los registros de las funciones desplegadas.
- `functions:shell [options]`: Lanza un shell de Node con funciones emuladas.
- `functions:list`: Lista todas las funciones desplegadas.
- `functions:secrets:access <KEY>[@version]`: Accede al valor de un secreto.
- `functions:secrets:destroy [options] <KEY>[@version]`: Destruye un secreto.
- `functions:secrets:get <KEY>`: Obtiene metadatos de un secreto.
- `functions:secrets:prune [options]`: Destruye secretos no utilizados.
- `functions:secrets:set [options] <KEY>`: Crea o actualiza un secreto.
- `functions:artifacts:setpolicy [options]`: Configura una política de limpieza para imágenes de contenedor.
### Hosting
- `hosting:channel:create [options] [channelId]`: Crea un canal de Firebase Hosting.
- `hosting:channel:delete [options] <channelId>`: Elimina un canal de Hosting.
- `hosting:channel:deploy [options] [channelId]`: Despliega a un canal específico.
- `hosting:channel:list [options]`: Lista todos los canales de Hosting.
- `hosting:channel:open [options] [channelId]`: Abre la URL de un canal.
- `hosting:clone <source> <targetChannel>`: Clona una versión de un sitio a otro.
- `hosting:disable [options]`: Deja de servir tráfico web a tu sitio.
- `hosting:sites:create [options] [siteId]`: Crea un sitio de Firebase Hosting.
- `hosting:sites:delete [options] <siteId>`: Elimina un sitio de Hosting.
- `hosting:sites:get <siteId>`: Imprime información sobre un sitio.
- `hosting:sites:list`: Lista los sitios de Hosting.
### App Hosting
- `apphosting:backends:list`: Lista los backends de Firebase App Hosting.
- `apphosting:backends:create [options]`: Crea un backend de App Hosting.
- `apphosting:backends:get <backend>`: Imprime información sobre un backend.
- `apphosting:backends:delete [options] <backend>`: Elimina un backend.
- `apphosting:secrets:set [options] <secretName>`: Crea o actualiza un secreto.
- `apphosting:secrets:grantaccess [options] <secretNames>`: Concede permisos sobre secretos.
- `apphosting:secrets:describe <secretName>`: Obtiene metadatos de un secreto.
- `apphosting:secrets:access <secretName[@version]>`: Accede al valor de un secreto.
- `apphosting:rollouts:create [options] <backendId>`: Crea un despliegue gradual (rollout).
### Emuladores
- `emulators:exec [options] <script>`: Inicia emuladores, ejecuta un script y los apaga.
- `emulators:export [options] <path>`: Exporta datos de los emuladores en ejecución.
- `emulators:start [options]`: Inicia los emuladores locales de Firebase.
### Data Connect
- `dataconnect:execute [options] [file] [operationName]`: Ejecuta una consulta o mutación de Data Connect.
- `dataconnect:services:list`: Lista los servicios de Data Connect desplegados.
- `dataconnect:sql:diff [options]`: Muestra diferencias entre el esquema local y la base de datos CloudSQL.
- `dataconnect:sql:setup [options]`: Configura tu base de datos CloudSQL.
- `dataconnect:sql:migrate [options]`: Migra el esquema de tu base de datos CloudSQL.
- `dataconnect:sql:grant [options]`: Otorga un rol SQL a un usuario o cuenta de servicio.
- `dataconnect:sql:shell [options]`: Inicia un shell conectado a tu instancia de CloudSQL.
- `dataconnect:sdk:generate [options]`: Genera SDKs tipados para usar Data Connect.
### Gestión de Proyecto y CLI
- `deploy [options]`: Despliega código y assets a tu proyecto.
- `init [feature]`: Configura interactivamente el directorio actual como un proyecto de Firebase.
- `login [options]`: Inicia sesión en Firebase.
- `logout [email]`: Cierra la sesión de Firebase.
- `open [link]`: Abre rápidamente un navegador a recursos relevantes del proyecto.
- `projects:addfirebase [projectId]`: Añade recursos de Firebase a un proyecto de Google Cloud.
- `projects:create [options] [projectId]`: Crea un nuevo proyecto de Google Cloud y le añade Firebase.
- `projects:list`: Lista todos los proyectos de Firebase a los que tienes acceso.
- `serve [options]`: Inicia un servidor local para tus assets estáticos.
- `setup:emulators:*`: Descarga los emuladores (database, firestore, pubsub, storage, ui, dataconnect).
- `target [type]`: Muestra los objetivos de despliegue configurados.
- `use [options] [alias_or_project_id]`: Establece un proyecto de Firebase activo para tu directorio de trabajo.
- `help [command]`: Muestra información de ayuda.
### Otros
- `experiments:list`: Lista todos los experimentos de la CLI.
- `experiments:describe <experiment>`: Describe un experimento.
- `experiments:enable <experiment>`: Habilita un experimento.
- `experiments:disable <experiment>`: Deshabilita un experimento.
- `remoteconfig:*`: Comandos para gestionar Remote Config.