# blockctl

> Blockware Command Line Utility

Latest version **0.0.40** (published 2023-01-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install blockctl
pnpm add blockctl
yarn add blockctl
bun add blockctl
```

Provides the command `blockctl`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.40 |
| Published | 2023-01-10 |
| First published | 2019-06-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 9 |
| Unpacked size | 23.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| Author | Henrik Hofmeister |
| Maintainers | vonhofmeister |

## Links

- npm: https://www.npmjs.com/package/blockctl
- npm.io page: https://npm.io/package/blockctl

## Dependencies (9)

- [open](https://npm.io/package/open.md) ^8.4.0
- [mkdirp](https://npm.io/package/mkdirp.md) 0.5.1
- [rimraf](https://npm.io/package/rimraf.md) 2.6.3
- [request](https://npm.io/package/request.md) ^2.88.2
- [inquirer](https://npm.io/package/inquirer.md) ^7.2.0
- [commander](https://npm.io/package/commander.md) ^9.4.1
- [jwt-decode](https://npm.io/package/jwt-decode.md) ^3.1.2
- [@blockware/npm-package-handler](https://npm.io/package/@blockware/npm-package-handler.md) <2
- [@blockware/local-cluster-config](https://npm.io/package/@blockware/local-cluster-config.md) <2

## Recent versions

- 0.0.40 (latest) — 2023-01-10
- 0.0.39 — 2023-01-09
- 0.0.38 — 2023-01-09
- 0.0.37 — 2023-01-07
- 0.0.36 — 2023-01-07
- 0.0.35 — 2023-01-07
- 0.0.34 — 2023-01-03
- 0.0.33 — 2023-01-03
- 0.0.32 — 2023-01-03
- 0.0.31 — 2022-12-27
- 0.0.30 — 2022-12-27
- 0.0.29 — 2022-12-20
- 0.0.28 — 2022-11-25
- 0.0.27 — 2022-11-12
- 0.0.26 — 2022-11-07
- … 21 more at https://npm.io/package/blockctl/versions

## README

# Blockware command line utility

Introduces using blockware through blockctl commands. 

The purpose of ```blockctl``` is to make it simple to automate things 
either locally or on servers - 
as well as giving people comfortable with terminals a way to quickly perform
certain actions.

## Install:
```bash
npm i @blockware/blockctl -g
``` 

## Use:
```bash
blockctl help
``` 


## Structure
The tool itself is built up of a series of "commands". Each command is
its own module except for a few built-in core commands. 

### Installing or updating commands
It uses the NPM registry to install and update commands - and to install a new command
you can simply do 
```bash
blockctl install you-npm-command-module
```
or the short version
```bash
blockctl i you-npm-command-module
```

Upgrading is similar - simply write:
```bash
blockctl upgrade you-npm-command-module
```

### Extending
To implement a command for blockctl we use
[@blockware/blockctl-command](https://github.com/blockwarecom/blockctl-command)
and the module must then be published as an NPM module for blockctl to install it

**blockctl** expects a ```command``` property in the ```package.json``` file
of the command. This command property should contain the *name* of your command -
e.g.
```json
{
  "name": "@blockware/blockctl-command-codegen",
  "command": "codegen",
  ...
} 
```

Typically you'd want to not publish and download all the time during development. 
for that purpose you can navigate to the folder in which you are developing a command 
and run 
```bash
blockctl link [command-name]
```
The optional "command-name" parameter is to override what is in the 
```package.json``` file as mentioned before - or if nothing is there to 
specify one.

blockctl will then create a symlink - very similar to 
how ```npm link``` works - which allows it to find your local version of
the command.

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