Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/murshidazher/oclif-tsdx-boilerplate
📦 An oclif-typescript boilerplate for cli package development with zero config
https://github.com/murshidazher/oclif-tsdx-boilerplate
boilerplate cli eslint github-packages mocha oclif prettier semantic-release typescript
Last synced: about 4 hours ago
JSON representation
📦 An oclif-typescript boilerplate for cli package development with zero config
- Host: GitHub
- URL: https://github.com/murshidazher/oclif-tsdx-boilerplate
- Owner: murshidazher
- License: mit
- Created: 2022-02-17T08:17:09.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-10-29T23:15:46.000Z (10 days ago)
- Last Synced: 2024-10-30T01:50:31.366Z (10 days ago)
- Topics: boilerplate, cli, eslint, github-packages, mocha, oclif, prettier, semantic-release, typescript
- Language: TypeScript
- Homepage:
- Size: 912 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [oclif-tsdx-boilerplate](https://github.com/murshidazher/oclif-tsdx-boilerplate) [![github](https://img.shields.io/github/v/release/murshidazher/oclif-tsdx-boilerplate?label=&color=0080FF)](https://github.com/murshidazher/oclif-tsdx-boilerplate/releases/latest)
![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)
> A simple oclif-cli boilerplate for making lot of things happen. 🔥
- Zero configuration typescript setup with oclif
- Automatic trunk-based release pipeline using GitHub Workflow and Semantic Versioning.## Table of Contents
- [Table of Contents](#table-of-contents)
- [Development](#development)
- [Links](#links)
- [Usage](#usage)
- [Commands](#commands)
- [`ocliftsdx goodbye PERSON`](#ocliftsdx-goodbye-person)
- [`ocliftsdx hello PERSON`](#ocliftsdx-hello-person)
- [`ocliftsdx hello dump`](#ocliftsdx-hello-dump)
- [`ocliftsdx hello world`](#ocliftsdx-hello-world)
- [`ocliftsdx help [COMMAND]`](#ocliftsdx-help-command)
- [`ocliftsdx plugins`](#ocliftsdx-plugins)
- [`ocliftsdx plugins:inspect PLUGIN...`](#ocliftsdx-pluginsinspect-plugin)
- [`ocliftsdx plugins:install PLUGIN...`](#ocliftsdx-pluginsinstall-plugin)
- [`ocliftsdx plugins:link PLUGIN`](#ocliftsdx-pluginslink-plugin)
- [`ocliftsdx plugins:uninstall PLUGIN...`](#ocliftsdx-pluginsuninstall-plugin)
- [`ocliftsdx plugins update`](#ocliftsdx-plugins-update)
- [LICENSE](#license)## Development
To run the CLI:
```bash
yarn start ARGS_AND_FLAGS
```To build the files:
```bash
yarn build
```Staging will also automatically update this `README` using husky precommit hooks.
To run the executable:
```bash
./bin/run ARGS_AND_FLAGS
```## Links
- [How to publish packages using GitHub Packages](https://javascript.plainenglish.io/publishing-private-npm-packages-using-github-packages-415993cd2da8)
- [How to use auto to publish GitHub Packages](https://intuit.github.io/auto/docs/build-platforms/github-actions)
- Use semantic release to release packages like oclif cli.
- [Add access control and visibility to GitHub Packages](https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)## Usage
```sh-session
$ npm install -g @murshidazher/oclif-tsdx-boilerplate
$ ocliftsdx COMMAND
running command...
$ ocliftsdx (--version)
@murshidazher/oclif-tsdx-boilerplate/0.0.0 darwin-x64 node-v17.0.0
$ ocliftsdx --help [COMMAND]
USAGE
$ ocliftsdx COMMAND
...
```## Commands
* [`ocliftsdx goodbye PERSON`](#ocliftsdx-goodbye-person)
* [`ocliftsdx hello PERSON`](#ocliftsdx-hello-person)
* [`ocliftsdx hello dump`](#ocliftsdx-hello-dump)
* [`ocliftsdx hello world`](#ocliftsdx-hello-world)
* [`ocliftsdx help [COMMAND]`](#ocliftsdx-help-command)
* [`ocliftsdx plugins`](#ocliftsdx-plugins)
* [`ocliftsdx plugins:inspect PLUGIN...`](#ocliftsdx-pluginsinspect-plugin)
* [`ocliftsdx plugins:install PLUGIN...`](#ocliftsdx-pluginsinstall-plugin)
* [`ocliftsdx plugins:link PLUGIN`](#ocliftsdx-pluginslink-plugin)
* [`ocliftsdx plugins:uninstall PLUGIN...`](#ocliftsdx-pluginsuninstall-plugin)
* [`ocliftsdx plugins update`](#ocliftsdx-plugins-update)## `ocliftsdx goodbye PERSON`
Say goodbye
```
USAGE
$ ocliftsdx goodbye [PERSON] -fARGUMENTS
PERSON Person to say goodbye to when signing offFLAGS
-f, --from= (required) Whom is saying goodbyeDESCRIPTION
Say goodbyeEXAMPLES
$ ocliftsdx goodbye friend --from oclif
goodbye friend from oclif! (./src/commands/goodbye/index.ts)
```_See code: [dist/commands/goodbye/index.ts](https://github.com/murshidazher/oclif-tsdx-boilerplate/blob/v0.0.0/dist/commands/goodbye/index.ts)_
## `ocliftsdx hello PERSON`
Say hello
```
USAGE
$ ocliftsdx hello [PERSON] -fARGUMENTS
PERSON Person to say hello toFLAGS
-f, --from= (required) Whom is saying helloDESCRIPTION
Say helloEXAMPLES
$ ocliftsdx hello friend --from oclif
hello friend from oclif! (./src/commands/hello/index.ts)
```_See code: [dist/commands/hello/index.ts](https://github.com/murshidazher/oclif-tsdx-boilerplate/blob/v0.0.0/dist/commands/hello/index.ts)_
## `ocliftsdx hello dump`
Say hello dump
```
USAGE
$ ocliftsdx hello dumpDESCRIPTION
Say hello dumpEXAMPLES
$ ocliftsdx hello dump
hello dump! (./src/commands/hello/dump.ts)
```## `ocliftsdx hello world`
Say hello world
```
USAGE
$ ocliftsdx hello worldDESCRIPTION
Say hello worldEXAMPLES
$ ocliftsdx hello world
hello world! (./src/commands/hello/world.ts)
```## `ocliftsdx help [COMMAND]`
Display help for ocliftsdx.
```
USAGE
$ ocliftsdx help [COMMAND] [-n]ARGUMENTS
COMMAND Command to show help for.FLAGS
-n, --nested-commands Include all nested commands in the output.DESCRIPTION
Display help for ocliftsdx.
```_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.11/src/commands/help.ts)_
## `ocliftsdx plugins`
List installed plugins.
```
USAGE
$ ocliftsdx plugins [--core]FLAGS
--core Show core plugins.DESCRIPTION
List installed plugins.EXAMPLES
$ ocliftsdx plugins
```_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v2.1.0/src/commands/plugins/index.ts)_
## `ocliftsdx plugins:inspect PLUGIN...`
Displays installation properties of a plugin.
```
USAGE
$ ocliftsdx plugins:inspect PLUGIN...ARGUMENTS
PLUGIN [default: .] Plugin to inspect.FLAGS
-h, --help Show CLI help.
-v, --verboseDESCRIPTION
Displays installation properties of a plugin.EXAMPLES
$ ocliftsdx plugins:inspect myplugin
```## `ocliftsdx plugins:install PLUGIN...`
Installs a plugin into the CLI.
```
USAGE
$ ocliftsdx plugins:install PLUGIN...ARGUMENTS
PLUGIN Plugin to install.FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verboseDESCRIPTION
Installs a plugin into the CLI.Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.ALIASES
$ ocliftsdx plugins addEXAMPLES
$ ocliftsdx plugins:install myplugin$ ocliftsdx plugins:install https://github.com/someuser/someplugin
$ ocliftsdx plugins:install someuser/someplugin
```## `ocliftsdx plugins:link PLUGIN`
Links a plugin into the CLI for development.
```
USAGE
$ ocliftsdx plugins:link PLUGINARGUMENTS
PATH [default: .] path to pluginFLAGS
-h, --help Show CLI help.
-v, --verboseDESCRIPTION
Links a plugin into the CLI for development.Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.EXAMPLES
$ ocliftsdx plugins:link myplugin
```## `ocliftsdx plugins:uninstall PLUGIN...`
Removes a plugin from the CLI.
```
USAGE
$ ocliftsdx plugins:uninstall PLUGIN...ARGUMENTS
PLUGIN plugin to uninstallFLAGS
-h, --help Show CLI help.
-v, --verboseDESCRIPTION
Removes a plugin from the CLI.ALIASES
$ ocliftsdx plugins unlink
$ ocliftsdx plugins remove
```## `ocliftsdx plugins update`
Update installed plugins.
```
USAGE
$ ocliftsdx plugins update [-h] [-v]FLAGS
-h, --help Show CLI help.
-v, --verboseDESCRIPTION
Update installed plugins.
```## LICENSE
[MIT](./LICENSE) © 2021-2022 Murshid Azher.