https://github.com/momsfriendlydevco/doop-cli
Doop CLI helper to perform unit based operations on the current project
https://github.com/momsfriendlydevco/doop-cli
Last synced: over 1 year ago
JSON representation
Doop CLI helper to perform unit based operations on the current project
- Host: GitHub
- URL: https://github.com/momsfriendlydevco/doop-cli
- Owner: MomsFriendlyDevCo
- License: mit
- Created: 2016-08-26T01:28:14.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-10-08T21:50:45.000Z (almost 9 years ago)
- Last Synced: 2025-03-25T12:50:53.505Z (over 1 year ago)
- Language: JavaScript
- Size: 39.1 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Doop-CLI
========
Command Line Interface for the [Doop Framework](https://github.com/MomsFriendlyDevCo/Doop).
```
Usage: doop [options] [command]
Commands:
config List Doop config
delete [unit] Delete an exising unit from the project
gentest-schema [unit...] Generate Mocha/Chai tests from unit schema files
glob [glob] Glob for files within units and perform operations on them
install [unit...] Install one or more units from the upstream Doop repo
list List units installed for the current project
make [unit] Create a unit skeleton from the given name (plurals for unit names are recommended)
merge [unit] Attempt to merge a unit with the upstream Doop repo
setup Configure Doop-Cli
help [cmd] display help for [cmd]
Perform a Doop operation on the currently active project
Options:
-h, --help output usage information
-V, --version output the version number
```
Getting Started
---------------
Install globally with NPM:
```bash
npm install -g doop-cli
```
Setup the Doop-Cli
```bash
doop setup
```
Navigate to your project root and, to list installed units in the project, run:
```bash
doop list
```
Configuration
-------------
The `~/.dooprc` file is read for additional Doop settings. This file will be created with a basic layout when running `doop setup` for the first time.
Run the `doop config` command for the current configuration.
| Config path | Type | Default | Description |
|---------------------------|--------|------------------|----------------------------------------------------------------------------------------|
| `globs.projectRoot` | string | `./package.json` | The glob to use to identify the project root |
| `globs.units` | string | `./units/*/` | Where to find a projects Units |
| `paths.doopCli` | string | Programatic | The file path to the Doop CLI file (automatically determined by default) |
| `paths.doop` | string | Null | The path on disk of the master Doop repo |
| `paths.project` | string | Programatic | The path on disk of the current project (automatically determined by default) |
| `aliases` | Object | `{default: 'list', ls: 'list', i: 'install', 'rm': 'delete'}` | An object containing a list of valid [alias](#aliases) commands |
| `tools` | Object | `{meld: 'meld {{{project.path}}} {{{doop.path}}}'}` | An object of available tools (used mainly to merge) |
| `list.changes.maxEdited` | number | `3` | The maximum number of files to show per unit before compressing the list display |
| `list.changes.maxCreated` | number | `3` | As with `list.changes.maxEdited` but for created files |
Aliases
-------
Doop supports command line aliasing similar to Git. By specifying an alias you can provide a shortcut to the full command without constant repetion.
* The meta `default` alias specifies what command to actually run if the CLI is run with no arguments
* All commands are assumed to assume a `doop` prefix unless the alias begins with an exclaimation mark (to run the command as is)
For example setting the following in your `~/.dooprc` file will configure a selection of aliases:
```ini
[aliases]
default=list
ls=list
i=install
rm=delete
schm=glob *.schm.js
status=!git status
```
* The `default` parameter tells Doop what to run if no command is specified (i.e. you run the CLI as just `doop` with no arguments).
* Running `doop ls` will actually run `doop list`
* Running `doop status` will run `git status`. The exclaimation mark prefix indicates that the command should be run as-is without an automatic `doop` prefix
* Running `doop schm` will run `doop glob *.schm.js` files. Note that this will also carry any command line arguments automatically. For example `doop schm -e` will actually run `doop glob *.schm.js -e`