<br/>**Usage:**<br/>


```shell
genserve [command] [target] [--port number] [--dir path] [--silent] [--timeout number]
```

_**GenServe is a non-blocking server generator and manager.**_
---

<br/>**Commands:**<br/>
Basic Commands

```markdown
    -h, --help                                             Display this help
    -v, --version                                          Display the currently running version
```

<br/>

**Commands targeting servers** _(1)_:
```markdown
    start         <servername>                             Start a server
    restart       <servername>                             Restart a server
    stop          <servername>                             Stop a server
    status        <servername>                             Display a server status
    set           <servername> --<option> [optionvalue]    Update a server property 
    remove        <servername>                             Remove a server from the database

    path settings                                          Display path to global settings
    path settings <servername>                             Display path to server settings
    edit settings                                          Open global settings in default editor
    edit server   <servername>                             Open server settings in default editor
    log           <servername>                             Display path to server logs

    enable        <servername> {cors|ssl}                  Enable a property on a server
    info          <servername>                             Display information about a server
    description   <servername>                             Show server description (use 'set' to add a description)
```

<br/>

**Commands targeting namespace(s)** _(2)_:
```markdown
    list           <namespace>                             Display all registered servers in the active namespace
    scan           <namespace>                             Display all registered servers with their current statuses
    report                                                 Display information about namespaces
    erase          <namespace>                             Delete all servers from a namespace
    shutdown       [all]                                   Stop all non-locked servers from all namespaces 
```
<br/>

**Special Commands**:
```markdown
    path    {servers|settings|logs} [<servername>]         Show paths to a server settings. If the servername is 
                                                           omitted, show global settings logs    

    edit    {servers|settings|logs}                        Same as above, but open target in the default system editor

    all                                                    Apply the active command to all servers (1) or all
                                                           namespaces (2)
```

<br/>**Options:**<br/>

```markdown
    --port                                                 Define the port to use with the server
    --force                                                Force a command execution (Overrides --lock, --protect, etc.)
    --dir                                                  Set the static directory to use (Can be more than one)
    --dyndir                                               Set the directory to contain server-side .js scripts 
    --namespace <name>                                     Define namespace to use
    --ssl                                                  Enable SSL
    --openPage <path>                                      Open a browser after a server has started against the 
                                                           given value
    --defaultPath <page>                                   Page to display by default
    --cert <path>                                          SSL Certificate path           
    --key <path>                                           SSL Key path       
    --unprocessed <path>                                   URL to errors page (Can be a static or a dynamic page)
    --open                                                 Combine with the log command, will open the targeted file 
                                                           in the default editor
    --columns                                              Combine with the scan command. Only show selected columns.   
```

<br/>

**Notes:**

> **Server names and namespaces should be lowercase with no dot symbols**

---

<br/>

**Examples:**

---

- **Serve ./www directory on port 3030**

```shell
$> genserve start mysite --dir ./www --port 3030
```

---

- **Find registered servers and only show their active and serverUrl columns (serverName is always displayed)**

```shell
$> genserve scan --columns "active,serverUrl"
```

---


                            
                                                               
        


