Skip to content

CLI tool to build Koop applications and plugins

License

Notifications You must be signed in to change notification settings

koopjs/koop-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

477be17 · Dec 5, 2023
Jan 7, 2023
Jan 11, 2021
Jul 8, 2019
Dec 5, 2023
Jun 18, 2021
Aug 25, 2020
Dec 15, 2020
Nov 27, 2019
Aug 14, 2023
Jan 28, 2019
Jan 13, 2023
Dec 5, 2023
Dec 5, 2023
Dec 11, 2022

Repository files navigation

@koopjs/cli

npm package Build Status

An easy-to-use CLI tool to quickly build Koop applications and plugins

Features

  • follow Koop specification
  • minimal project templates
  • full development cycle support
  • console commands + Node.js APIs
  • cross-platform

Install

Use npm

npm install -g @koopjs/cli

Use yarn

yarn global add @koopjs/cli

Once installed the koop command is available at the console.

Example

Create a new Koop application with the name my-koop-app

# create a project folder and initialize it
koop new app my-koop-app

# cd in the folder
cd my-koop-app

Add a provider @koopjs/filesystem-s3 from npm

# install the provider and register it to the koop app
koop add provider @koopjs/filesystem-s3

Add a custom provider that connects to a local database

# add boilerplate provider files at src/providers/local-db and register it to
# the koop app (though you still need to implement the provider)
koop add provider --local providers/local-db

Test out your work

# run the koop server
koop serve

Commands

koop <command>

Commands:
  koop new <type> <name>  create a new koop project
  koop add <type> <name>  add a new plugin to the current app
  koop remove <name>      remove an existing plugin from the current app
  koop list [type]        list plugins added to the current app
  koop test               run tests in the current project
  koop serve [path]       run a Koop server for the current project
  koop validate           validte the current plugin

Options:
  --quiet    supress all console messages except errors
                                                      [boolean] [default: false]

Each command comes with the corresponding node.js API and this CLI can be used as a library. For detail information, please read the command documentations.