npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

mikroa

v1.1.1

Published

A CLI to create microservices projects

Readme

Mikroa - CLI

Mikroa es una interfaz de línea de comando, conocida como CLI por sus siglas en inglés, la cual se encarga de automatizar la creación de proyectos que implementen la arquitectura basada en microservicios. Esto incluye desde la creación de los archivos y carpetas bases hasta la correcta configuración inicial requerida para comenzar el desarrollo de una aplicación. Además, busca automatizar y agilizar otros procesos como la creación de contenedores Docker, la migración de datos y la ejecución concurrente de los microservicios.

Esta herramienta fue realizada como trabajo de grado por Erika Han y Reichel Larez bajo la tutoría de José Roberto Quevedo Gabizón para optar por el título de Ingeniero de Sistemas en la Universidad Metropolitana.

Tabla de contenidos

Comandos del CLI

  1. init
  2. generate
  3. build
  4. migrate
  5. start

init

Se genera el directorio del proyecto en la ruta en donde ejecute el comando init

  mikroa init <project-name>

| Argument | Description | | ------------ | ------------------------------------------------------------------------------ | | project-name | El nombre del proyecto, el cual también es utilizado para crear el directorio. |

Nota: project-name solo debe consistir de letras y números, en caso de incluir ., , o <space>, se generará un error

Examples

  • Crear un directorio llamado my-project
mikroa init my-project

generate

Se debe ejecutar en el carpeta root del proyecto para poder crear nuevos microservicios

  mikroa generate [microservice-name]

| Argument | Description | | ----------------- | ------------------------------------------------------------------------------------------- | | microservice-name | El nombre del microservicio, el cual también es utilizado para crear su respectiva carpeta. |

Nota: project-name solo debe consistir de letras y números, en caso de incluir ., , o <space>, se generará un error

Examples

  • Generar un nuevo microservicio llamado my-microservice, el CLI ejecutará un proceso interactivo solicitando la siguiente información:
mikroa generate my-microservice
? Please choose which language would you like to use? › Javascript
? Please choose which orm to use? › Mongoose
? Please choose a backend framework to use? › - Use arrow-keys. Return to submit.
❯  Express
   Fastify
   Koa.js
  • Si omite el argumento, el CLI leerá el archivo de configuración ubicado en el root para generar todos los microservicios que no hayan sido creados ya:
mikroa generate

Cada microservicio debe seguir la siguiente estructura:

{
  "my-microservice": {
      "language": "javascript",
      "orm": "mongoose",
      "framework": "express",
  }
}

build

Al ejecutarse el comando mikroa build en la carpeta root del proyecto de Mikroa, se crean las imágenes de los contenedores respectivos de cada microservicio según el .Dockerfile correspondiente. En caso de poseer requerimientos extras, se recomienda modificar dicho archivo para adaptarse a sus necesidades.

Por otro lado, se genera el archivo docker-compose.yml para el posterior despliegue de los contenedores.

  mikroa build

migrate

El comando mikroa migrate se encarga de realizar la correspondiente migración de modelos a la base de datos según el ORM u ODM seleccionado por el usuario.

  mikroa migrate

| Option | Description | | ---------------- | ------------------------------------------------------------------------------------------------------------------ | | development [-d] | En caso de colocar el flag --development o -d, se realizarán las migraciones para un entorno de development. |

Examples

  • En el caso de haber seleccionado el ODM mongoose, debe especificar en el archivo config.json del microservicio los modelos a crear, cada uno debe seguir la siguiente estructura para poder generar el archivo de cada modelo:
{
  "User": {
    "name": "String",
    "email": {
      "type": "String",
      "required": true,
    },
    "age": {
      "type": "Number",
      "default": 0,
    },
    "address": [
      {
        "type": "String",
      },
    ]
  }
}
  • En el caso de haber seleccionado el ORM prisma, los modelos deben ser especificados directamente en el archivo schema.prisma, siguiendo la sintaxis de Prisma. Posteriormente, Mikroa se hará cargo de realizar las migraciones correspondientes a la base de datos seleccionada

Nota: En el caso de decidir utilizar Prisma con MongoDB, se deben realizar los cambios correspondientes para que dicho ORM funcione correctamente con la base de datos

start

En la carpeta root del proyecto, el comando mikroa start ejecuta todos los microservicios del proyecto Mikroa

  mikroa start [microservice-name]

| Argument | Description | | ----------------- | ----------------------------------------------------------------------------- | | microservice-name | El nombre del microservicio, el cual corresponde con el nombre de la carpeta. |

Examples

  • Iniciar la ejecución de un único microservicio llamado my-microservice, el CLI identificará el servicio y ejecutará el comando respectivo:
mikroa start my-microservice
  • Si omite el argumento, el CLI leerá el archivo de configuración ubicado en el root para iterar sobre todos los microservicios e iniciar su ejecución de manera concurrente:
mikroa start

Licencia

MIT © Erika Han and Reichel Larez