# Dev-Helper-2.0
En el mundo del desarrollo de software, es común tener que lidiar con una gran cantidad de comandos y scripts para ejecutar tareas específicas. Con el tiempo, puede volverse difícil administrar y recordar todos estos comandos. Aquí es donde entra en juego el programa que vamos a analizar, escrito en Python.
[Link de GitHub.](https://github.com/luigicfh/Dev-Helper-2.0)
## Descripción del programa
El programa es un administrador de comandos que permite agregar, eliminar, actualizar y ejecutar comandos de forma sencilla. Está diseñado para ayudar a los desarrolladores a organizar y ejecutar sus comandos de manera eficiente. Veamos cómo funciona.
## Estructura del programa
El programa consta de varios componentes, incluidos módulos y funciones auxiliares, para lograr su funcionalidad completa. A continuación, se muestra una descripción general de los componentes clave del programa:
### Backend
El programa utiliza un backend para gestionar una base de datos de documentos. La base de datos se implementa utilizando el archivo `db.json`, que contiene la información sobre los comandos y proyectos existentes. El módulo `document_db` se encarga de interactuar con la base de datos y proporciona métodos para agregar, eliminar y actualizar documentos.
### Validaciones
El programa cuenta con un conjunto de funciones de validación en el módulo `validations`. Estas funciones se utilizan para validar la entrada del usuario y asegurarse de que cumple con los requisitos necesarios para ejecutar ciertos comandos.
### Generación de comandos
La función `generate_new_command` se encarga de generar un nuevo comando con su nombre, descripción y el comando real que se ejecutará. Esta función se utiliza al agregar un nuevo comando al sistema.
### Análisis de argumentos
El programa utiliza el módulo `argparse` para analizar los argumentos de línea de comandos proporcionados por el usuario. Se definen varios argumentos, como el comando a ejecutar, el nombre de espacio, el proyecto, la descripción, el comando real y la pregunta. Estos argumentos se utilizan para determinar la acción que se debe realizar y los datos asociados a esa acción.
### Acciones principales
El programa define varias acciones principales que se pueden ejecutar. Estas acciones incluyen: listar comandos, agregar comando, eliminar comando, actualizar comando, ejecutar comando, configuración y cambio de proyecto activo. Cada acción se implementa como una rama condicional basada en el comando proporcionado por el usuario.
## Uso del programa
El programa se utiliza ejecutando el script principal a través de la línea de comandos. Los argumentos proporcionados determinarán la acción que se debe realizar. Aquí hay un resumen de las acciones principales y cómo se utilizan:
Instala el programa ejecutando:
```bash
pip install Dev-Helper-CLI
```
- **Listar comandos**: El comando `list` se utiliza para mostrar una lista de comandos almacenados en la base de datos. También se puede especificar un nombre de espacio y proyecto para mostrar comandos específicos.
Listar todos los proyectos:
```bash
dh list
```
Listar comandos en un proyecto:
```bash
dh list -n project_name
```
- **Agregar comando**: El comando `add` se utiliza para agregar un nuevo comando a la base de datos. Se deben proporcionar el nombre del proyecto, el nombre corto del comando, una descripción y el comando real que se ejecutará.
Agregar un comando simple:
```bash
dh add -p project_name -s shortcut_name -d description -c "command"
```
Agregar secuencias de comandos:
```bash
dh add -p project_name -s shortcut_name -d description -c "command1; command2; command3"
```
- **Eliminar comando**: El comando `delete` se utiliza para eliminar un comando existente de la base de datos. Se debe proporcionar el nombre del proyecto y el nombre corto del comando a eliminar.
Borrar proyecto:
```bash
dh delete -p project_name
```
Borrar comando:
```bash
dh delete -p project_name -s shortcut_name
```
- **Actualización de un comando**: el comando de `update` se utiliza para actualizar un comando existente en la base de datos. Se debe proporcionar el nombre del proyecto, el acceso directo del comando y el comando actualizado, la descripcion es opcional.
Actualizar comando:
```bash
dh update -p project_name -s shortcut_name -c command_name -d description
```
- **Ejecutar un comando**: El comando `run` se utiliza para ejecutar un comando específico. Se debe proporcionar el acceso directo del comando.
Ejecutar un comando:
```bash
dh run -s shortcut_name
```
Si ningun proyecto esta activo se te pedira activar el proyecto correspondiente al comando que deseas ejecutar.
- **Configuración**: el comando `config` se usa para mostrar la configuración activa, que incluye el proyecto actualmente activo.
```bash
dh config
```
- **Cambio de proyecto activo**: el comando de `switch` se utiliza para establecer la configuración activa en un proyecto específico. Se debe proporcionar el nombre del proyecto.
```bash
dh switch -p project_name
```
Al usar estos comandos, los desarrolladores pueden administrar sus comandos de manera efectiva y optimizar su flujo de trabajo.
Raw data
{
"_id": null,
"home_page": "https://github.com/luigicfh/Dev-Helper-2.0",
"name": "Dev-Helper-CLI",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Luis Moreno",
"author_email": "luis.cfh.90@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/62/c4/851955426745a5b44eb410f79bbede5dc3c7f6727fa4e14ed9b2d845039e/Dev-Helper-CLI-0.0.14.tar.gz",
"platform": null,
"description": "# Dev-Helper-2.0\n\nEn el mundo del desarrollo de software, es com\u00fan tener que lidiar con una gran cantidad de comandos y scripts para ejecutar tareas espec\u00edficas. Con el tiempo, puede volverse dif\u00edcil administrar y recordar todos estos comandos. Aqu\u00ed es donde entra en juego el programa que vamos a analizar, escrito en Python.\n\n[Link de GitHub.](https://github.com/luigicfh/Dev-Helper-2.0)\n\n## Descripci\u00f3n del programa\n\nEl programa es un administrador de comandos que permite agregar, eliminar, actualizar y ejecutar comandos de forma sencilla. Est\u00e1 dise\u00f1ado para ayudar a los desarrolladores a organizar y ejecutar sus comandos de manera eficiente. Veamos c\u00f3mo funciona.\n\n## Estructura del programa\n\nEl programa consta de varios componentes, incluidos m\u00f3dulos y funciones auxiliares, para lograr su funcionalidad completa. A continuaci\u00f3n, se muestra una descripci\u00f3n general de los componentes clave del programa:\n\n### Backend\n\nEl programa utiliza un backend para gestionar una base de datos de documentos. La base de datos se implementa utilizando el archivo `db.json`, que contiene la informaci\u00f3n sobre los comandos y proyectos existentes. El m\u00f3dulo `document_db` se encarga de interactuar con la base de datos y proporciona m\u00e9todos para agregar, eliminar y actualizar documentos.\n\n### Validaciones\n\nEl programa cuenta con un conjunto de funciones de validaci\u00f3n en el m\u00f3dulo `validations`. Estas funciones se utilizan para validar la entrada del usuario y asegurarse de que cumple con los requisitos necesarios para ejecutar ciertos comandos.\n\n### Generaci\u00f3n de comandos\n\nLa funci\u00f3n `generate_new_command` se encarga de generar un nuevo comando con su nombre, descripci\u00f3n y el comando real que se ejecutar\u00e1. Esta funci\u00f3n se utiliza al agregar un nuevo comando al sistema.\n\n### An\u00e1lisis de argumentos\n\nEl programa utiliza el m\u00f3dulo `argparse` para analizar los argumentos de l\u00ednea de comandos proporcionados por el usuario. Se definen varios argumentos, como el comando a ejecutar, el nombre de espacio, el proyecto, la descripci\u00f3n, el comando real y la pregunta. Estos argumentos se utilizan para determinar la acci\u00f3n que se debe realizar y los datos asociados a esa acci\u00f3n.\n\n### Acciones principales\n\nEl programa define varias acciones principales que se pueden ejecutar. Estas acciones incluyen: listar comandos, agregar comando, eliminar comando, actualizar comando, ejecutar comando, configuraci\u00f3n y cambio de proyecto activo. Cada acci\u00f3n se implementa como una rama condicional basada en el comando proporcionado por el usuario.\n\n## Uso del programa\n\nEl programa se utiliza ejecutando el script principal a trav\u00e9s de la l\u00ednea de comandos. Los argumentos proporcionados determinar\u00e1n la acci\u00f3n que se debe realizar. Aqu\u00ed hay un resumen de las acciones principales y c\u00f3mo se utilizan:\n\nInstala el programa ejecutando:\n\n```bash\npip install Dev-Helper-CLI\n```\n\n- **Listar comandos**: El comando `list` se utiliza para mostrar una lista de comandos almacenados en la base de datos. Tambi\u00e9n se puede especificar un nombre de espacio y proyecto para mostrar comandos espec\u00edficos.\n \n Listar todos los proyectos:\n \n ```bash\n dh list\n ```\n \n Listar comandos en un proyecto:\n \n ```bash\n dh list -n project_name\n ```\n \n- **Agregar comando**: El comando `add` se utiliza para agregar un nuevo comando a la base de datos. Se deben proporcionar el nombre del proyecto, el nombre corto del comando, una descripci\u00f3n y el comando real que se ejecutar\u00e1.\n \n Agregar un comando simple:\n \n ```bash\n dh add -p project_name -s shortcut_name -d description -c \"command\"\n ```\n \n Agregar secuencias de comandos:\n \n ```bash\n dh add -p project_name -s shortcut_name -d description -c \"command1; command2; command3\"\n ```\n \n- **Eliminar comando**: El comando `delete` se utiliza para eliminar un comando existente de la base de datos. Se debe proporcionar el nombre del proyecto y el nombre corto del comando a eliminar.\n \n Borrar proyecto:\n \n ```bash\n dh delete -p project_name\n ```\n \n Borrar comando:\n \n ```bash\n dh delete -p project_name -s shortcut_name\n ```\n \n\n- **Actualizaci\u00f3n de un comando**: el comando de `update` se utiliza para actualizar un comando existente en la base de datos. Se debe proporcionar el nombre del proyecto, el acceso directo del comando y el comando actualizado, la descripcion es opcional.\n \n Actualizar comando:\n \n ```bash\n dh update -p project_name -s shortcut_name -c command_name -d description\n ```\n \n- **Ejecutar un comando**: El comando `run` se utiliza para ejecutar un comando espec\u00edfico. Se debe proporcionar el acceso directo del comando.\n \n Ejecutar un comando:\n \n ```bash\n dh run -s shortcut_name\n ```\n \n Si ningun proyecto esta activo se te pedira activar el proyecto correspondiente al comando que deseas ejecutar.\n \n- **Configuraci\u00f3n**: el comando `config` se usa para mostrar la configuraci\u00f3n activa, que incluye el proyecto actualmente activo.\n \n ```bash\n dh config\n ```\n \n- **Cambio de proyecto activo**: el comando de `switch` se utiliza para establecer la configuraci\u00f3n activa en un proyecto espec\u00edfico. Se debe proporcionar el nombre del proyecto.\n \n ```bash\n dh switch -p project_name\n ```\n \n\nAl usar estos comandos, los desarrolladores pueden administrar sus comandos de manera efectiva y optimizar su flujo de trabajo.\n",
"bugtrack_url": null,
"license": "",
"summary": "A CLI program to help devs be more productive.",
"version": "0.0.14",
"project_urls": {
"Bug Tracker": "https://github.com/luigicfh/Dev-Helper-2.0/issues",
"Homepage": "https://github.com/luigicfh/Dev-Helper-2.0"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "62c4851955426745a5b44eb410f79bbede5dc3c7f6727fa4e14ed9b2d845039e",
"md5": "a75a7bf7e7a534c34480f2447da13752",
"sha256": "22e6d236b342eae892367df80f292dd2697b4335f58deb263b2274642f9bd4ce"
},
"downloads": -1,
"filename": "Dev-Helper-CLI-0.0.14.tar.gz",
"has_sig": false,
"md5_digest": "a75a7bf7e7a534c34480f2447da13752",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 6650,
"upload_time": "2023-05-12T16:36:26",
"upload_time_iso_8601": "2023-05-12T16:36:26.376583Z",
"url": "https://files.pythonhosted.org/packages/62/c4/851955426745a5b44eb410f79bbede5dc3c7f6727fa4e14ed9b2d845039e/Dev-Helper-CLI-0.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-12 16:36:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "luigicfh",
"github_project": "Dev-Helper-2.0",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "dev-helper-cli"
}