Orm

Overview

The Slate CLI is a Command Line Interface application that provides pre-built functionality for you to integrate your own commands in an interactie manner. This CLI offers 2 distinct approaches to integration. The first approach allows you to handle the raw text supplied in the CLI yourself and is the most flexible. The second approach provides a more connected, automatic by exposing, validating, and executing inputs against Slate Kit Universal APIs. You can create a CLI app quickly using the Slate Kit command line executable with command.

    
    slatekit new cli -name="Sample1" -package="mycompany.apps"
    


Index

Section Component Description
1 Status Current status of this component
2 Install Installation instructions and references to sources
3 Requires Lists all the Slate Kit and third-party dependencies
4 Sample Quick sample to show usage of the component
5 Goals Goals of this component and the problems it attempts to solve
6 Concepts Core concepts to understand in this component
7 Features List all the features supported
8 Setup Set up and configure this component for use
9 Details In-depth examples of the supported features

Back to top



Status

This component is currently stable and there is a project generator for it ( see below ).
A small future enhancement will add support for question and answer flow.
Back to top



Install

    repositories {
        // other repositories
        maven { url  "http://dl.bintray.com/codehelixinc/slatekit" }
    }

    dependencies {
        // other dependencies ...

        compile 'com.slatekit:slatekit-cli:1.0.0'
    }
package slatekit.app
jar slatekit.app.jar
git slatekit/src/lib/kotlin/slatekit-cli
docs App
uses slatekit.results, slatekit.common
license Apache 2.0
example Example_CLI.kt

Back to top



Requires

This component uses the following other Slate Kit and/or third-party components.

Component Description
Slate Kit - Results To model successes and failures with optional status codes
Slate Kit - Common Common utilities for both android + server

Back to top



Sample

coming soon

    fun quick_sample() {
        
    }

Back to top



Goals


Goal Description
1. Pre-Built CLI Support for raw text, parsing, looping, formats, param types
2. Flexible Use Handle raw requests or leverage existing integration
3. API Support Slate Kit APIs are accessible on Web or CLI

Back to top



Concepts


Component Description
CLI The main component managing the interaction
CliRequest Represents the command entered
CliResponse Represents the output of the operation
CliApi Extends the CLI by integrating it with Slate Kit APIs
Command Reserved commands like about, version, help, quit, exit, etc
Input Param Parameter starting with - representing data for a command
Meta Param Parameter starting with @ representing metadata for a command
System Param Parameter starting with $ representing an instruction for the CLI
9. Reference Reference to command originating from a file

Back to top



Features


Name Description More
1. Input Description of feature more
2. Reserved List of reserved commands more
3. Args How to convert raw text into parsed parameters more
4. Requests Working with parsed commands as CLI Requests more
5. Execute How to execute a request more
6. Responses Working with parsed commands as CLI Requests more
7. Startup Load a command at start up more
8. From file Load a command from a file more
9. API How to access APIs on the command line more
10. Scripts Run a series of commands in batch mode more

Back to top



Inputs

coming soon

    fun setup() {
        
    }
Back to features Back to top


Reserved

coming soon

    fun setup() {
        
    }
Back to features Back to top


Args

coming soon

    fun setup() {
        
    }
Back to features Back to top


Requests

coming soon

    fun setup() {
        
    }
Back to features Back to top


Execute

coming soon

    fun setup() {
        
    }
Back to features Back to top


Responses

coming soon

    fun setup() {
        
    }
Back to features Back to top


Startup

coming soon

    fun setup() {
        
    }
Back to features Back to top


From file

coming soon

    fun setup() {
        
    }
Back to features Back to top


API

coming soon

    fun setup() {
        
    }
Back to features Back to top


Scripts

coming soon

    fun setup() {
        
    }
Back to features Back to top



Back to top