# @oleoneto/microkit

> Microservices toolkit

Latest version **0.2.5** (published 2020-11-12) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install @oleoneto/microkit
pnpm add @oleoneto/microkit
yarn add @oleoneto/microkit
bun add @oleoneto/microkit
```

Provides the command `microkit`.

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.2.5 |
| Published | 2020-11-12 |
| First published | 2020-10-01 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 38 |
| Unpacked size | 110.4 KB |
| Known vulnerabilities | 0 (+41 in 6 direct dependencies) |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Leo Neto |
| Maintainers | oleoneto |
| Keywords | oclif |

## Links

- npm: https://www.npmjs.com/package/@oleoneto/microkit
- Repository: https://github.com/oleoneto/microkit
- Issues: https://github.com/oleoneto/microkit/issues
- npm.io page: https://npm.io/package/@oleoneto/microkit

## Dependencies (38)

- [pg](https://npm.io/package/pg.md) ~8.3.3
- [ws](https://npm.io/package/ws.md) ~7.3.1
- [ncp](https://npm.io/package/ncp.md) ~2.0.0
- [knex](https://npm.io/package/knex.md) ~0.21.5
- [axios](https://npm.io/package/axios.md) ~0.20.0
- [listr](https://npm.io/package/listr.md) ~0.14.3
- [tslib](https://npm.io/package/tslib.md) ^1
- [cli-ux](https://npm.io/package/cli-ux.md) ~5.5.0
- [dotenv](https://npm.io/package/dotenv.md) ~8.2.0
- [moment](https://npm.io/package/moment.md) ~2.28.0
- [aws-sdk](https://npm.io/package/aws-sdk.md) ~2.757.0
- [license](https://npm.io/package/license.md) ~1.0.3
- [inquirer](https://npm.io/package/inquirer.md) ~7.3.3
- [@types/pg](https://npm.io/package/@types/pg.md) ~7.14.5
- [@types/ws](https://npm.io/package/@types/ws.md) ~7.2.6
- [bitbucket](https://npm.io/package/bitbucket.md) ~2.4.1
- [gitignore](https://npm.io/package/gitignore.md) ~0.6.0
- [ari-client](https://npm.io/package/ari-client.md) ~2.2.0
- [kafka-node](https://npm.io/package/kafka-node.md) ~5.0.0
- [simple-git](https://npm.io/package/simple-git.md) ~2.21.0
- [@types/knex](https://npm.io/package/@types/knex.md) ~0.16.1
- [pkg-install](https://npm.io/package/pkg-install.md) ~1.0.0
- [@types/mysql](https://npm.io/package/@types/mysql.md) ~2.15.15
- [query-string](https://npm.io/package/query-string.md) ^6.13.6
- [@oclif/config](https://npm.io/package/@oclif/config.md) ^1
- [@octokit/rest](https://npm.io/package/@octokit/rest.md) ^18.0.6
- [fluent-ffmpeg](https://npm.io/package/fluent-ffmpeg.md) ~2.1.2
- [@oclif/command](https://npm.io/package/@oclif/command.md) ^1
- [@prisma/client](https://npm.io/package/@prisma/client.md) ~2.7.1
- [aws-transcribe](https://npm.io/package/aws-transcribe.md) ~1.1.0
- [words-to-numbers](https://npm.io/package/words-to-numbers.md) ~1.5.1
- [@oclif/plugin-help](https://npm.io/package/@oclif/plugin-help.md) ^2
- [node-record-lpcm16](https://npm.io/package/node-record-lpcm16.md) ~1.0.1
- [node-rtsp-recorder](https://npm.io/package/node-rtsp-recorder.md) ^1.0.3
- [audio-buffer-stream](https://npm.io/package/audio-buffer-stream.md) ~1.1.0
- [@aws-sdk/util-utf8-node](https://npm.io/package/@aws-sdk/util-utf8-node.md) ^1.0.0-rc.2
- [@aws-sdk/eventstream-marshaller](https://npm.io/package/@aws-sdk/eventstream-marshaller.md) ^1.0.0-rc.2
- [@aws-sdk/client-transcribe-streaming](https://npm.io/package/@aws-sdk/client-transcribe-streaming.md) ^1.0.0-rc.2

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 0.2.5 (latest) — 2020-11-12
- 0.2.4 — 2020-11-12
- 0.2.3 — 2020-11-12
- 0.2.2 — 2020-10-19
- 0.2.1 — 2020-10-19
- 0.2.0 — 2020-10-01
- 0.1.1 — 2020-10-01
- 0.1.0 — 2020-10-01

## README

microkit
========

Microservices toolkit

[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
[![Version](https://img.shields.io/npm/v/microkit.svg)](https://npmjs.org/package/microkit)
[![Downloads/week](https://img.shields.io/npm/dw/microkit.svg)](https://npmjs.org/package/microkit)
[![License](https://img.shields.io/npm/l/microkit.svg)](https://github.com/oleoneto/microkit/blob/master/package.json)

<!-- toc -->
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->
# Usage
<!-- usage -->
```sh-session
$ npm install -g @oleoneto/microkit
$ microkit COMMAND
running command...
$ microkit (-v|--version|version)
@oleoneto/microkit/0.2.5 darwin-x64 node-v12.19.0
$ microkit --help [COMMAND]
USAGE
  $ microkit COMMAND
...
```
<!-- usagestop -->
# Commands
<!-- commands -->
* [`microkit help [COMMAND]`](#microkit-help-command)
* [`microkit utils`](#microkit-utils)
* [`microkit utils:audio:info PATH`](#microkit-utilsaudioinfo-path)
* [`microkit utils:call DIALSTRING`](#microkit-utilscall-dialstring)
* [`microkit utils:db`](#microkit-utilsdb)
* [`microkit utils:db:read`](#microkit-utilsdbread)
* [`microkit utils:kafka`](#microkit-utilskafka)
* [`microkit utils:kafka:listen`](#microkit-utilskafkalisten)
* [`microkit utils:kafka:produce`](#microkit-utilskafkaproduce)
* [`microkit utils:rtp`](#microkit-utilsrtp)
* [`microkit utils:s3`](#microkit-utilss3)
* [`microkit utils:s3:download KEY`](#microkit-utilss3download-key)
* [`microkit utils:transcribe`](#microkit-utilstranscribe)

## `microkit help [COMMAND]`

display help for microkit

```
USAGE
  $ microkit help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v2.2.3/src/commands/help.ts)_

## `microkit utils`

developer utilities

```
USAGE
  $ microkit utils
```

_See code: [src/commands/utils/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/index.ts)_

## `microkit utils:audio:info PATH`

check the information of an audio file

```
USAGE
  $ microkit utils:audio:info PATH

OPTIONS
  -x, --extended          show extra columns
  --columns=columns       only show provided columns (comma-separated)
  --csv                   output is csv format [alias: --output=csv]
  --filter=filter         filter property by partial string matching, ex: name=foo
  --no-header             hide table header from output
  --no-truncate           do not truncate output to fit screen
  --output=csv|json|yaml  output in a more machine friendly format
  --sort=sort             property to sort by (prepend '-' for descending)
```

_See code: [src/commands/utils/audio/info.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/audio/info.ts)_

## `microkit utils:call DIALSTRING`

place a call using an asterisk server

```
USAGE
  $ microkit utils:call DIALSTRING

OPTIONS
  -a, --address=address                      (required) [default: http://127.0.0.1:8088] asterisk server address
  -e, --externalMediaHost=externalMediaHost  [default: localhost:5554] RTP listening server address (external host)
  -f, --format=format                        [default: ulaw] audio format
  -m, --mode=mode                            [default: SIP] mode
  -p, --password=password                    (required) [default: asterisk] asterisk password
  -t, --transcribe                           transcribe call in real-time
  -u, --username=username                    (required) [default: asterisk] asterisk user
  --docker                                   set this if asterisk server is running inside a docker container
  --engine=(deepgram|transcribe)             (required) [default: deepgram] transcription engine
  --timeout=timeout                          [default: 180] set limit for transcriber connection in seconds
  --watch                                    watch RTP packet information

EXAMPLES
  $ microkit utils:call 6001
  $ microkit utils:call 6001 --mode SIP
  $ microkit utils:call 6001 --transcribe
  $ microkit utils:call 6001 --transcribe -e localhost:5554
  $ microkit utils:call 6001 --transcribe --docker --engine=deepgram
  $ microkit utils:call 6001 --transcribe -a http://127.0.0.1:8088 -u asterisk --docker
```

_See code: [src/commands/utils/call/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/call/index.ts)_

## `microkit utils:db`

interact with SQL databases (only Postgres supported)

```
USAGE
  $ microkit utils:db
```

_See code: [src/commands/utils/db/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/db/index.ts)_

## `microkit utils:db:read`

read from a database table

```
USAGE
  $ microkit utils:db:read

OPTIONS
  -x, --extended               show extra columns
  --columns=columns            only show provided columns (comma-separated)
  --csv                        output is csv format [alias: --output=csv]
  --database=database          database name
  --database-url=database-url  database url
  --filter=filter              filter property by partial string matching, ex: name=foo
  --limit=limit                [default: 100] sql select limit
  --no-header                  hide table header from output
  --no-truncate                do not truncate output to fit screen
  --offset=offset              sql select offset
  --output=csv|json|yaml       output in a more machine friendly format
  --sort=sort                  property to sort by (prepend '-' for descending)
  --table=table                (required) database table

EXAMPLES
  $ microkit db:read --table friends
  $ microkit db:read --table friends --database people
  $ microkit db:read --table friends --limit 2
  $ microkit db:read --table friends --limit 10 --offset 2
```

_See code: [src/commands/utils/db/read.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/db/read.ts)_

## `microkit utils:kafka`

produce and/or consume kafka messages

```
USAGE
  $ microkit utils:kafka
```

_See code: [src/commands/utils/kafka/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/kafka/index.ts)_

## `microkit utils:kafka:listen`

listen for or consume Kafka events

```
USAGE
  $ microkit utils:kafka:listen

OPTIONS
  -g, --groupId=groupId  [default: microkit] kafka consumer group identifier
  -t, --topics=topics    (required) kafka topic
  --actions=actions      kafka actions to watch
  --host=host            address of kafka host [i.e. https://example.com:9094]
  --listen-once          stop listening once a message is received
  --mode=(watch|ignore)  determine whether to care about or ignore the actions
  --total=total          maximum number of messages to consume

EXAMPLES
  $ microkit utils:kafka:listen --topics feed
  $ microkit utils:kafka:listen --topics feed registrations
  $ microkit utils:kafka:listen --topics feed --listen-once
  $ microkit utils:kafka:listen --topics feed --actions like comment --mode watch
  $ microkit utils:kafka:listen --topics feed --actions repost --mode --ignore
```

_See code: [src/commands/utils/kafka/listen.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/kafka/listen.ts)_

## `microkit utils:kafka:produce`

produce kafka messages

```
USAGE
  $ microkit utils:kafka:produce

OPTIONS
  -a, --action=action  kafka topic action
  -o, --object=object  (required) [default: {"origin": "microkit"}] payload in JSON format
  -t, --topic=topic    (required) kafka topic
  --host=host          address of kafka host [i.e. https://example.com:9094]
  --total=total        [default: 1] number of messages to send

EXAMPLES
  $ microkit utils:kafka:produce --topic feed
  $ microkit utils:kafka:produce --topic feed --total 10
  $ microkit utils:kafka:produce --topic feed --object '{"userId": 8897, "action": "like", "objectId": 42}'
```

_See code: [src/commands/utils/kafka/produce.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/kafka/produce.ts)_

## `microkit utils:rtp`

starts an RTP server

```
USAGE
  $ microkit utils:rtp

OPTIONS
  --log           log RTP server messages
  --port=port     [default: 5554] RTP client port
  --show-info     show RTP packet info
  --show-packets  show RTP packets

EXAMPLES
  $ microkit utils:rtp
  $ microkit utils:rtp --port 5554
  $ microkit utils:rtp --show-packets=true
```

_See code: [src/commands/utils/rtp/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/rtp/index.ts)_

## `microkit utils:s3`

interact with S3 buckets

```
USAGE
  $ microkit utils:s3
```

_See code: [src/commands/utils/s3/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/s3/index.ts)_

## `microkit utils:s3:download KEY`

download file from S3 bucket

```
USAGE
  $ microkit utils:s3:download KEY

OPTIONS
  -b, --bucket=bucket                      (required) name of S3 bucket
  -l, --downloadLocation=downloadLocation  path where the downloads should be saved

EXAMPLES
  $ microkit utils:s3:download audio.mp3 --bucket my-photos
  $ microkit utils:s3:download audio.mp3 --bucket my-photos -l ~/Downloads
```

_See code: [src/commands/utils/s3/download.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/s3/download.ts)_

## `microkit utils:transcribe`

transcribe an audio stream

```
USAGE
  $ microkit utils:transcribe

OPTIONS
  -p, --port=port                 [default: 5554] RTP client port
  --engine=(deepgram|transcribe)  (required) [default: deepgram] transcription engine
  --timeout=timeout               [default: 180] set limit for transcriber connection in seconds

EXAMPLES
  $ microkit utils:transcribe
  $ microkit utils:transcribe --port 5554
  $ microkit utils:transcribe --engine=deepgram
  $ microkit utils:transcribe --engine=deepgram --port 5554
```

_See code: [src/commands/utils/transcribe/index.ts](https://github.com/oleoneto/microkit/blob/v0.2.5/src/commands/utils/transcribe/index.ts)_
<!-- commandsstop -->
* [`microkit help [COMMAND]`](#microkit-help-command)

## `microkit help [COMMAND]`

display help for microkit

```
USAGE
  $ microkit help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v2.2.3/src/commands/help.ts)_

---
_Source: https://npm.io/package/@oleoneto/microkit · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
