# LMF Client
Lmf Client is a packager for installing and publishing code bases.

## Installation

```shell
$ npm install lmfcli --g
$ lmfcli setup
```
#### this only has to be done once.
### Usage

#### Installing a codebase
```shell
$ lmfcli install test

lmf-cli success 📦 + test
# or if it fails,
lmf-cli err package not found
```
Now, in our js file, we can use the codebase.
```js
var codebase = require('./lmf_packages/test');

codebase.methods.test()
codebase.doSomething()
new codebase.someClass()
.setName('hello!');

```

### Publishing a codebase
```shell
# to publish a codebase, the user must first initilize a lmf project to the working directory.
$ lmfcli init
📦 Name? example-name # Remember, names can not have spaces or special characters other than '-' and '_'.
🚀 Version? 1.0.0 # This is the template for a version.
🗃️ Description? an example project! # This can be anything. (140 character limit though)
🗂️ Codepoint? example.js # this is the file that will be published. Only 1 file can be published, but we are working on a package system.
lmf-cli success ✅ initilized lmf project: example-name 
```
This should create a file called 'lmf.json' to the working directory.
#### Publishing
```shell
$ lmfcli publish
# information will be shown here.
# the client will make a request to the server, and will check if the package already exists.
# if not, it will publish the package under the user's id.
lmf-cli success 📦 + example-name
# if it finds a file, it will return an error and will not publish.
lmf-cli err package already exists
```

### Thank you for using lmf-cli!

© Mybutton Corporation, 2022.

## Check out other projects!
[`mb-encrypt`](https://www.npmjs.com/package/mb-encrypt) - an encryption system to encode JSON objects.
