Skip to content

Commit

Permalink
Add README contributing section
Browse files Browse the repository at this point in the history
Help differentiate between `bin/run` and `bin/dev`
  • Loading branch information
BrandonSmith committed Feb 12, 2024
1 parent b64c8ee commit 3498575
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 4 deletions.
78 changes: 77 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ $ npm install -g @relaypro/cli
$ relay COMMAND
running command...
$ relay (--version|-v)
@relaypro/cli/1.8.1 linux-x64 node-v19.6.0
@relaypro/cli/1.8.1 darwin-arm64 node-v18.12.0
$ relay --help [COMMAND]
USAGE
$ relay COMMAND
Expand Down Expand Up @@ -53,4 +53,80 @@ USAGE

<!-- contribution -->
# Contributing

Relay CLI is largely built on top of Saleforce's [oclif](https://oclif.io/) CLI framework, which provides
many features common to the best CLIs, including commands, subcommands, flags, arguments, and environment
variable overrides. All while producing user-facing help documentation to assist CLI users learn how to use
the Relay CLI.

The best way to use the Relay CLI is to install via NPM as demonstrated in the [Usage](#usage) section. However,
if you'd like to contribute or test a branch before it is made public, you'll need to run the Relay CLI from
source. Here's how to get started:

### 1 - Clone the repo

```
$ git clone https://github.com/relaypro/relay-cli.git
$ cd relay-cli
```

### 2 - Switch to the right branch

You can run from the default `main` branch. It contains the latest
public, and perhaps a little more, depending on the current development
lifecycle.

If you are contributing new code or seeking a fix, create a new branch:

```
$ git checkout -b feature/my-awesome-patch
```

### 3 - Install NPM dependencies

```
$ npm install
```

### 4 - Run or Build the project

When running the Relay CLI when installed from NPM, the `relay` entry
point is set up and all commands are
There are two commands that are the "entry points" into the Relay CLI.
Each has a distinct purpose:

* `bin/dev` is slow, but accurate. Every time you execute, the entire
project is rescannded and the source is compiled. On average, this
command can take up to 5 seconds. This command is primarily used
during development. If you are editing source code regularly and
testing those changes, this is the command to use.
* `bin/run` is fast, but inaccurate. Meaning, `bin/run` utilizes metadata
cached on the filesystem and pre-compiled code in order to be fast.
This command, in fact, is what is used when you install via NPM and
run using `relay`. However, it is "inaccurate" in that you must
remember to execute the caching and compiling commands before using it
otherwise you will see errors or outdated, precompiled code will be
used.

```
# slow, but accurate... will always compile code
$ bin/dev COMMAND
# fast, but inaccurage... will use cached metadata and pre-compiled code
$ bin/run COMMAND
```

#### Before running `bin/run`

Before you run `bin/run` you will need to create the command metadata
cache and pre-compile the code. This can be done with the `prepack`
command as follows:

```
$ npm run prepack
```

It is safe to run this multiple times as you make changesas the command
will overwrite the metadata cache and compiled code. No need to manually
clean up the output of the `prepack` command.
<!-- contributionstop -->
2 changes: 1 addition & 1 deletion docs/analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ARGUMENTS
CATEGORY Can be workflow, tasks, or a custom category
FLAGS
-s, --subscriber-id=<value> (required) [default: 8efb6648-c26c-4147-bee8-fa4c6811fd03] subscriber id
-s, --subscriber-id=<value> (required) [default: 282b5c81-2410-4302-8f74-95207bdbe9d9] subscriber id
-i, --workflow-instance-id=<value> workflow instance id
-l, --limit=<value> [default: 20] limit the number of events to retrieve
-p, --parse whether to parse/process the analytic content based on the 'content_type'
Expand Down
4 changes: 2 additions & 2 deletions docs/workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ USAGE
$ relay workflow:args:set -w <value> -s <value> [-a <value>] [-b <value>] [-r <value>]
FLAGS
-s, --subscriber-id=<value> (required) [default: 282b5c81-2410-4302-8f74-95207bdbe9d9] subscriber id
-s, --subscriber-id=<value> (required) [default: 282b5c81-2410-4302-8f74-95207bdbe9d9] subscriber id
-w, --workflow-id=<value> (required) workflow id
-a, --arg=<value>... String name/value pair workflow arg
-b, --boolean=arg1=[true|false]... Boolean name/value pair workflow arg
Expand Down Expand Up @@ -426,7 +426,7 @@ FLAGS
Number name/value pair workflow arg
-s, --start=<value>
[default: 2023-12-01T12:00:00]
[default: 2024-02-12T10:00:00]
-t, --[no-]transient
Allow workflow to run in the background; otherwise terminate workflow
Expand Down

0 comments on commit 3498575

Please sign in to comment.