# onboardbasekit

> **Onboardbase Kit** (onboardbasekit) is a CLI tool for generating boilerplates with onboardbase preconfigured in them as a SecretOps infrastucture.

Latest version **1.0.6** (published 2023-06-21) · ISC license · 0 weekly downloads

## Install

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

Provides the command `onboardbasekit`.

## Health

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

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.6 |
| Published | 2023-06-21 |
| First published | 2023-05-23 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=16.0.0 |
| Dependencies | 2 |
| Unpacked size | 7.4 KB |
| Known vulnerabilities | 0 (+12 in 1 direct dependencies) |
| Install scripts | yes |
| GitHub stars | 4 |
| Author | Olusola Samuel |
| Maintainers | samolusola |
| Keywords | onboardbase, secops, envs, secrets, environments |

## Links

- npm: https://www.npmjs.com/package/onboardbasekit
- Repository: https://github.com/Onboardbase/onboardbasekit
- Homepage: https://github.com/Onboardbase/onboardbasekit#readme
- Issues: https://github.com/Onboardbase/onboardbasekit/issues
- npm.io page: https://npm.io/package/onboardbasekit

## Dependencies (2)

- [tar](https://npm.io/package/tar.md) ^6.1.11
- [node-fetch](https://npm.io/package/node-fetch.md) ^3.1.0

## Alternatives

- [replicas-cli](https://npm.io/package/replicas-cli.md) — 3.0K weekly downloads
- [env-contract](https://npm.io/package/env-contract.md) — 133 weekly downloads
- [@openveo/api](https://npm.io/package/@openveo/api.md) — 61 weekly downloads
- [@ryniaubenpm2/cumque-error-reiciendis](https://npm.io/package/@ryniaubenpm2/cumque-error-reiciendis.md) — 54 weekly downloads
- [ts-global-type-extra](https://npm.io/package/ts-global-type-extra.md) — 11 weekly downloads

## Recent versions

- 1.0.6 (latest) — 2023-06-21
- 1.0.5 — 2023-06-21
- 1.0.4 — 2023-06-21
- 1.0.3 — 2023-06-21
- 1.0.2 — 2023-06-21
- 1.0.1 — 2023-06-20
- 1.0.0 — 2023-06-20
- 0.0.9 — 2023-06-20
- 0.0.2 — 2023-06-20
- 0.0.1 — 2023-06-20
- 0.0.5 — 2023-05-23
- 0.0.4 — 2023-05-23

## README

# Overview
**Onboardbase Kit** (onboardbasekit) is a CLI tool for generating boilerplates with onboardbase preconfigured in them as a SecretOps infrastucture.

# Installation

## Installing with Go:
```
go install github.com/Onboardbase/onboardbasekit@latest
```

## Installing with Brew:
```
brew tap onboardbase/onboardbasekit

brew install onboardbasekit
```

# Usage
Run to see all the commands available
```
onboardbasekit help
```

This will display information about the CLI

![alt obb help](./docs/images/onboarbasekit_help.png)

To get more information about a command run the command with `-h`, for example:
```
onboardbasekit init -h
```

We also have artifacts for different system architechtures [here](https://github.com/Onboardbase/onboardbasekit/releases)

## Initializing a Project
Run the init command:
```
onboardbasekit init
```
After providing the project name, you can select a project type:
![alt Init](./docs/images/obb_init.png)

**Note**: *You must have the build tools needed to create the project you selected. For example, if you selected a project type based on NodeJS e.g NestJs, Next.js, you must have Node.js already installed on your computer*

After selecting a project type, you will be prompted to complete the flow for creating project:

![alt Init](./docs/images/init_project.png)

## Initializing a Project From Git Repository
**Note**: *You must have git installed and configure on your machine to do this*

onboardbasekit can also automatically setup a project directrly from a github repo. It will attempt to clone the repository and then configure Onboardbase inside of it. This means that you must have the permission to clone the repository if it's a private repository.

To initialize from a git reposity run
```
onboardbasekit init --from-git [git-repository]

e.g

onboardbasekit init --from-git https://github.com/Onboardbase/Flask-Starterkit.git
```

# Contributing

## Local Setup
Clone this repo and run `go mod`. You can then start the application with `go run main.go`

## Adding More Project Types

Support for other frameworks are welcome. The easiest way to add a new project type support is to extend our git integration.

If you want to a new project type and there is a popular, open source community-vested boilerplate repository for that project type, you can make a PR to include that. The `kit/flask.go` is a reference for how to do just that.

You will then need to add the project type to the `project_types/types` const, this is the current list we have:
```
const (
	Nestjs  = "NestJS"
	Nextjs  = "NextJS"
	Reactjs = "React.js"
	Vuejs   = "VueJs"
	Flask   = "Flask"
)
```

Afterwards, you will need to include the new project type inside of `kit/init.go`:
```
func collectProjectType() string {
    ...
	items := []string {
		project_types.Nestjs,
		project_types.Nextjs,
		project_types.Reactjs,
		project_types.Vuejs,
		project_types.Flask,
	}
    ...
}

```

We have a simple sequence diagram for the project here `docs/images/OBB_Kit_flow.png`

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