# @hiregenius/sfcitools

> Tools to streamline your development and CI/CD

Latest version **0.5.1** (published 2021-06-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install @hiregenius/sfcitools
pnpm add @hiregenius/sfcitools
yarn add @hiregenius/sfcitools
bun add @hiregenius/sfcitools
```

## 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.5.1 |
| Published | 2021-06-23 |
| First published | 2021-05-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 13 |
| Unpacked size | 75.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | mBourgesHC |
| Maintainers | hiregenius |
| Keywords | sfdx-plugin |

## Links

- npm: https://www.npmjs.com/package/@hiregenius/sfcitools
- Repository: https://github.com/Hirecalibre/sfcitools
- Issues: https://github.com/Hirecalibre/sfcitools/issues
- npm.io page: https://npm.io/package/@hiregenius/sfcitools

## Dependencies (13)

- [tslib](https://npm.io/package/tslib.md) ^1
- [global](https://npm.io/package/global.md) ^4.4.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^10.0.0
- [hook-std](https://npm.io/package/hook-std.md) ^2.0.0
- [async-retry](https://npm.io/package/async-retry.md) ^1.3.1
- [@oclif/config](https://npm.io/package/@oclif/config.md) ^1
- [@oclif/errors](https://npm.io/package/@oclif/errors.md) ^1
- [@oclif/command](https://npm.io/package/@oclif/command.md) ^1
- [salesforce-alm](https://npm.io/package/salesforce-alm.md) ^51.6.26
- [@salesforce/core](https://npm.io/package/@salesforce/core.md) ^2
- [@pony-ci/cli-exec](https://npm.io/package/@pony-ci/cli-exec.md) ^1.0.6
- [@pony-ci/sfdx-node](https://npm.io/package/@pony-ci/sfdx-node.md) ^1.0.4
- [@salesforce/command](https://npm.io/package/@salesforce/command.md) ^2

## Recent versions

- 0.5.1 (latest) — 2021-06-23
- 0.5.0 — 2021-06-17
- 0.4.0 — 2021-06-16
- 0.3.0 — 2021-06-01
- 0.2.0 — 2021-05-28
- 0.1.1 — 2021-05-24
- 0.1.0 — 2021-05-24
- 0.0.1 — 2021-05-24

## README

sfcitools
=========

Tools to streamline your development and CI/CD

[![Version](https://img.shields.io/npm/v/sfcitools.svg)](https://npmjs.org/package/sfcitools)
[![CircleCI](https://circleci.com/gh/Project/sfcitools/tree/master.svg?style=shield)](https://circleci.com/gh/Project/sfcitools/tree/master)
[![Appveyor CI](https://ci.appveyor.com/api/projects/status/github/Project/sfcitools?branch=master&svg=true)](https://ci.appveyor.com/project/heroku/sfcitools/branch/master)
[![Codecov](https://codecov.io/gh/Project/sfcitools/branch/master/graph/badge.svg)](https://codecov.io/gh/Project/sfcitools)
[![Greenkeeper](https://badges.greenkeeper.io/Project/sfcitools.svg)](https://greenkeeper.io/)
[![Known Vulnerabilities](https://snyk.io/test/github/Project/sfcitools/badge.svg)](https://snyk.io/test/github/Project/sfcitools)
[![Downloads/week](https://img.shields.io/npm/dw/sfcitools.svg)](https://npmjs.org/package/sfcitools)
[![License](https://img.shields.io/npm/l/sfcitools.svg)](https://github.com/Project/sfcitools/blob/master/package.json)

<!-- toc -->
* [Debugging your plugin](#debugging-your-plugin)
<!-- tocstop -->
<!-- install -->
<!-- usage -->
```sh-session
$ npm install -g @hiregenius/sfcitools
$ sfdx COMMAND
running command...
$ sfdx (-v|--version|version)
@hiregenius/sfcitools/0.5.1 darwin-x64 node-v14.17.0
$ sfdx --help [COMMAND]
USAGE
  $ sfdx COMMAND
...
```
<!-- usagestop -->
<!-- commands -->
* [`sfdx sfcitools:ci:buildcheck -p <string> -k <string> [-a <string>] [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-sfcitoolscibuildcheck--p-string--k-string--a-string--f-string--v-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`sfdx sfcitools:ci:deploy -p <string> -k <string> [--promote] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-sfcitoolscideploy--p-string--k-string---promote--v-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`sfdx sfcitools:ci:validate [-a <string>] [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-sfcitoolscivalidate--a-string--f-string--v-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`sfdx sfcitools:dev:prepare [-a <string>] [-f <string>] [-d <number>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-sfcitoolsdevprepare--a-string--f-string--d-number--v-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`sfdx sfcitools:qa:prepare -b <string> [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-sfcitoolsqaprepare--b-string--f-string--v-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)

## `sfdx sfcitools:ci:buildcheck -p <string> -k <string> [-a <string>] [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

Check package creation and installation

```
Check package creation and installation

USAGE
  $ sfdx sfcitools:ci:buildcheck -p <string> -k <string> [-a <string>] [-f <string>] [-v <string>] [--apiversion 
  <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -a, --setalias=setalias                                                           [default: qa] set scratch org alias

  -f, --definitionfile=definitionfile                                               [default:
                                                                                    config/project-scratch.json] path to
                                                                                    an org definition file

  -k, --installationkey=installationkey                                             (required) installation key for
                                                                                    key-protected package

  -p, --package=package                                                             (required) Packge to run build check
                                                                                    against

  -v, --targetdevhubusername=targetdevhubusername                                   username or alias for the dev hub
                                                                                    org; overrides default dev hub org

  --apiversion=apiversion                                                           override the api version used for
                                                                                    api requests made by this command

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLE
  $ sfdx sfcitools:ci:buildcheck
```

_See code: [lib/commands/sfcitools/ci/buildcheck.js](https://github.com/Hirecalibre/sfcitools/blob/v0.5.1/lib/commands/sfcitools/ci/buildcheck.js)_

## `sfdx sfcitools:ci:deploy -p <string> -k <string> [--promote] [-v <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

deploy package in an org

```
deploy package in an org

USAGE
  $ sfdx sfcitools:ci:deploy -p <string> -k <string> [--promote] [-v <string>] [-u <string>] [--apiversion <string>] 
  [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -k, --installationkey=installationkey                                             (required) installation key for
                                                                                    key-protected package

  -p, --package=package                                                             (required) Packge to deploy

  -u, --targetusername=targetusername                                               username or alias for the target
                                                                                    org; overrides default target org

  -v, --targetdevhubusername=targetdevhubusername                                   username or alias for the dev hub
                                                                                    org; overrides default dev hub org

  --apiversion=apiversion                                                           override the api version used for
                                                                                    api requests made by this command

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

  --promote                                                                         promote package before installation

EXAMPLE
  $ sfdx sfcitools:ci:deploy -v devhub -u org -k abc123 -p package --promote
```

_See code: [lib/commands/sfcitools/ci/deploy.js](https://github.com/Hirecalibre/sfcitools/blob/v0.5.1/lib/commands/sfcitools/ci/deploy.js)_

## `sfdx sfcitools:ci:validate [-a <string>] [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

run CI pipeline

```
run CI pipeline

USAGE
  $ sfdx sfcitools:ci:validate [-a <string>] [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -a, --setalias=setalias                                                           [default: ci] set scratch org alias

  -f, --definitionfile=definitionfile                                               [default:
                                                                                    config/project-scratch.json] path to
                                                                                    an org definition file

  -v, --targetdevhubusername=targetdevhubusername                                   username or alias for the dev hub
                                                                                    org; overrides default dev hub org

  --apiversion=apiversion                                                           override the api version used for
                                                                                    api requests made by this command

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx sfcitools:ci:validate
  $ sfdx sfcitools:ci:validate -a ci-org -v devhub -f config/project-scratch.json
```

_See code: [lib/commands/sfcitools/ci/validate.js](https://github.com/Hirecalibre/sfcitools/blob/v0.5.1/lib/commands/sfcitools/ci/validate.js)_

## `sfdx sfcitools:dev:prepare [-a <string>] [-f <string>] [-d <number>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

run CI pipeline

```
run CI pipeline

USAGE
  $ sfdx sfcitools:dev:prepare [-a <string>] [-f <string>] [-d <number>] [-v <string>] [--apiversion <string>] [--json] 
  [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -a, --setalias=setalias                                                           [default: dev] set scratch org alias

  -d, --durationdays=durationdays                                                   [default: 7] duration of the scratch
                                                                                    org (in days) (default:7, min:1,
                                                                                    max:30)

  -f, --definitionfile=definitionfile                                               [default:
                                                                                    config/project-scratch.json] path to
                                                                                    an org definition file

  -v, --targetdevhubusername=targetdevhubusername                                   username or alias for the dev hub
                                                                                    org; overrides default dev hub org

  --apiversion=apiversion                                                           override the api version used for
                                                                                    api requests made by this command

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx sfcitools:dev:prepare
  $ sfdx sfcitools:dev:prepare -a ci-org -v devhub -f config/project-scratch.json -d 1
```

_See code: [lib/commands/sfcitools/dev/prepare.js](https://github.com/Hirecalibre/sfcitools/blob/v0.5.1/lib/commands/sfcitools/dev/prepare.js)_

## `sfdx sfcitools:qa:prepare -b <string> [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

creates a 1 day QA scratch org named qa based on the targeted branch

```
creates a 1 day QA scratch org named qa based on the targeted branch

USAGE
  $ sfdx sfcitools:qa:prepare -b <string> [-f <string>] [-v <string>] [--apiversion <string>] [--json] [--loglevel 
  trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -b, --branch=branch                                                               (required) target branch

  -f, --definitionfile=definitionfile                                               [default:
                                                                                    config/project-scratch.json] path to
                                                                                    an org definition file

  -v, --targetdevhubusername=targetdevhubusername                                   username or alias for the dev hub
                                                                                    org; overrides default dev hub org

  --apiversion=apiversion                                                           override the api version used for
                                                                                    api requests made by this command

  --json                                                                            format output as json

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)  [default: warn] logging level for
                                                                                    this command invocation

EXAMPLES
  $ sfdx sfcitools:dev:qa -b feature-branch-name
  $ sfdx sfcitools:dev:prepare -b feature-branch-name -v devhub -f
```

_See code: [lib/commands/sfcitools/qa/prepare.js](https://github.com/Hirecalibre/sfcitools/blob/v0.5.1/lib/commands/sfcitools/qa/prepare.js)_
<!-- commandsstop -->
<!-- debugging-your-plugin -->
# Debugging your plugin
We recommend using the Visual Studio Code (VS Code) IDE for your plugin development. Included in the `.vscode` directory of this plugin is a `launch.json` config file, which allows you to attach a debugger to the node process when running your commands.

To debug the `hello:org` command: 
1. Start the inspector
  
If you linked your plugin to the sfdx cli, call your command with the `dev-suspend` switch: 
```sh-session
$ sfdx hello:org -u myOrg@example.com --dev-suspend
```
  
Alternatively, to call your command using the `bin/run` script, set the `NODE_OPTIONS` environment variable to `--inspect-brk` when starting the debugger:
```sh-session
$ NODE_OPTIONS=--inspect-brk bin/run hello:org -u myOrg@example.com
```

2. Set some breakpoints in your command code
3. Click on the Debug icon in the Activity Bar on the side of VS Code to open up the Debug view.
4. In the upper left hand corner of VS Code, verify that the "Attach to Remote" launch configuration has been chosen.
5. Hit the green play button to the left of the "Attach to Remote" launch configuration window. The debugger should now be suspended on the first line of the program. 
6. Hit the green play button at the top middle of VS Code (this play button will be to the right of the play button that you clicked in step #5).
<br><img src=".images/vscodeScreenshot.png" width="480" height="278"><br>
Congrats, you are debugging!

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