open-index/open-npm huggingface dataset:
npm package: @sigiljs-community/auth-plugin
Description: Plugin for SigilJS framework that provides authentication with JWT-like tokens
Author: Kurai Foundation
Latest version: 1.1.6

# Sigil Auth Plugin

Plugin for SigilJS framework that provides authentication with JWT-like tokens
## Installation

```bash
npm install @sigiljs-community/auth-plugin
# or
yarn add @sigiljs-community/auth-plugin
```


## Usage

### Import and register the plugin

```typescript
import { Sigil } from "@sigiljs/sigil"
import { AuthPlugin } from "@sigiljs-community/auth-plugin"

const app = new Sigil()

// Register plugin with settings
app.addPlugin(AuthPlugin, {
  /**
   * Secret key for tokens generation
   *
   * While optional, it is strongly recommended to set up
   * your own secret token for production environments
   *
   * @default Random 32 bytes long key
   */
  secretKey: "",

  /**
   * List of protected routes
   *
   * If not set up, you will need to manually add modifier to each protected route
   */
  protectedRoutes: [],

  /**
   * Define custom names for refresh and access token headers
   *
   * @default X-Sigil-Refresh-Token, Authorization
   */
  authHeaders: {
    refreshToken: "X-Refresh-Token",
    accessToken: "Authorization"
  }
})
```

_See available plugin methods for more information_

### Protecting specified route
If protected routes not set up, you will need to provide AuthModifier for each protected route manually

AuthModifier also injects following fields in the request: `accessToken`, `accessTokenValid`, `refreshToken`, so it is still
useful even if protected routes are set up

```typescript
import { AuthModifier } from "@sigiljs-community/auth-plugin"

const route = app.createRoute("/", {
  modifiers: [AuthModifier]
})

route.get("/", request => {
  return request.accessToken // <- string or null
})
```

## License

You can copy and paste the MIT license summary from below.

```text
MIT License

Copyright (c) 2022 Kurai Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
npm package: @sigiljs-community/cors-plugin
Description: Plugin for SigilJS framework that provides configurable CORS headers
Author: Kurai Foundation
Latest version: 1.1.5

# Sigil CORS Plugin

Simple SigilJS plugin that provides middleware 
that intercepts any OPTIONS requests and respond 
on them with configurable CORS headers

## Installation

```bash
npm install @sigiljs-community/cors-plugin
# or
yarn add @sigiljs-community/cors-plugin
```


## Usage

**Import and register the plugin**

```typescript
import { Sigil } from "@sigiljs/sigil"
import { CorsPlugin } from "@sigiljs-community/openapi-plugin"

const app = new Sigil()

// Register the OpenAPI plugin with optional settings
app.addPlugin(CorsPlugin, {
  // Optional plugin configuration, by default
  // any request is allowed
})
```

## License

You can copy and paste the MIT license summary from below.

```text
MIT License

Copyright (c) 2022 Kurai Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
npm package: @sigiljs-community/mongo-plugin
Description: Plugin for SigilJS framework that provides MongoDB interactions
Author: Kurai Foundation
Latest version: 1.1.3

# Sigil MongoDB Plugin

Plugin for SigilJS framework that provides MongoDB interactions

## Installation

```bash
npm install @sigiljs-community/mongo-plugin
# or
yarn add @sigiljs-community/mongo-plugin
```


## Usage

### Import and register the plugin

```typescript
import { Sigil } from "@sigiljs/sigil"
import { MongoPlugin } from "@sigiljs-community/mongo-plugin"

const app = new Sigil()

// Register plugin with settings
app.addPlugin(MongoPlugin, {
  /**
   * Mongo connect URI, required
   */
  connectUri: "mongodb://...",

  /**
   *  MongoDB client options, you can read more about it
   * in the mongo SDK documentation
   */
  clientOptions: {}
})
```

### Creating and interacting with controller
```typescript
const controller = app.plugin(MongoPlugin).createController("databaseName")

const usersCollection = controller.collection<{ userId: string }>("users")

// usersCollection is an instance of MongoDB collection
```

### Disconnecting and reconnecting
```typescript
// Disconnect from current instance
controller.disconnect()

// Reconnect to current instance
controller.reconnect()
```

## License

You can copy and paste the MIT license summary from below.

```text
MIT License

Copyright (c) 2022 Kurai Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
npm package: @sigiljs-community/openapi-plugin
Description: Plugin for SigilJS framework, that automatically derives an OpenAPI JSON spec from your routes and serves it at a configurable endpoint
Author: Kurai Foundation
Latest version: 1.1.5

# Sigil OpenAPI Plugin

Automatically generates and serves an OpenAPI 3.0 JSON specification from your Sigil routes and validation schemas.


## Features

**Automatic spec derivation**: Inspects registered routes, HTTP methods, path parameters, query/header/body schemas, and response metadata.

**Spec serving**: Hosts the generated JSON at a configurable endpoint (default: `/openapi.json`).

**Swagger UI support**: Easily mount Swagger UI or other OpenAPI viewers against the served spec.


## Installation

```bash
npm install @sigiljs-community/openapi-plugin
# or
yarn add @sigiljs-community/openapi-plugin
```


## Usage

**Import and register the plugin**

```typescript
import { Sigil } from "@sigiljs/sigil"
import { OpenApiPlugin } from "@sigiljs-community/openapi-plugin"

const app = new Sigil()

// Register the OpenAPI plugin with optional settings
app.addPlugin(OpenApiPlugin, {
  /**
   * URL path where the JSON will be served
   * (defaults to '/swagger.json').
   */
  path: "/swagger.json",

  /**
   * Optional API metadata, if not provided, will
   * be replaced with placeholders
   */
  info: {
    title: "My API",
    version: "1.0.0",
    description: "Auto-generated OpenAPI spec"
  }
})
```

**Define your routes and schemas**

```typescript
// Example route with validation
import { seal } from "@sigiljs/sigil"

const schema = app.defineSchema({ id: seal.string.optional })

app.route("/users")
  .query(...schema)
  .get((req, res) => res.response({ users: [] }))
```

**Serve and view the spec**

Start your server and navigate to `http://localhost:3000/docs/openapi.json`

```ts
// Start server
app.listen(3000)
```

> Note: this plugin does not provide UI. For front-ends, please refer
> to the @sigiljs-community/swagger-ui-plugin or similar plugins

## License

You can copy and paste the MIT license summary from below.

```text
MIT License

Copyright (c) 2022 Kurai Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
npm package: @sigiljs-community/swagger-ui-plugin
Description: Plugin for SigilJS framework, that generates and serves Swagger UI at a configurable endpoint
Author: Kurai Foundation
Latest version: 1.1.5

# Sigil SwaggerUI Plugin

Generates and serves Swagger UI at a configurable endpoint

> This plugin depends on @sigiljs-community/openapi-plugin

## Installation

```bash
npm install @sigiljs-community/swagger-ui-plugin
# or
yarn add @sigiljs-community/swagger-ui-plugin
```


## Usage

**Import and register the plugin**

```typescript
import { Sigil } from "@sigiljs/sigil"
import { SwaggerUiPlugin, OpenApiPlugin } from "@sigiljs-community/swagger-ui-plugin"

const app = new Sigil()

// In this case, SwaggerUiPlugin depends on the
// OpenApiPlugin, so we need to define it
// before SwaggerUiPlugin

// Read more about OpenApiPlugin configuration
// at the https://github.com/sigiljs-community/openapi-plugin
app.addPlugin(OpenApiPlugin)

// Register the OpenAPI plugin with optional settings
app.addPlugin(SwaggerUiPlugin, {
  path: "/docs/" // optional, default is /docs/
  // Other optional configuration
})
```

**Define your routes and schemas**

```typescript
// Example route with validation
import { seal } from "@sigiljs/sigil"

const schema = app.defineSchema({ id: seal.string.optional })

app.route("/users")
  .query(...schema)
  .get((req, res) => res.response({ users: [] }))
```

**Serve and view the spec**

Start your server and navigate to `http://localhost:3000/docs`

```ts
// Start server
app.listen(3000)
```

Congrats! Now you have an autogenerated documentation for your application 

## License

You can copy and paste the MIT license summary from below.

```text
MIT License

Copyright (c) 2022 Kurai Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
npm package: @sigiljs/openapi-transformer
Description: Configurable openapi transformer that converts sigil framework custom route definitions and schema metadata into OpenAPI 3.0 JSON
Author: Kurai Foundation
Latest version: 1.0.6

# OpenAPI Transformer

Configurable openapi transformer that converts sigil framework custom route definitions and schema metadata into OpenAPI 3.0 JSON.


## Table of Contents

* [Installation](#installation)
* [Quick Start](#quick-start)
* [License](#license)


## Installation

```bash
npm add @sigiljs/openapi-transformer
# or
yarn add @sigiljs/openapi-transformer
```


## Quick Start

```ts
import OpenApiTransformer from "openapi-transformer"
import { generateRoutes } from "./your-route-definitions"

const transformer = new OpenApiTransformer({
  title: "My API",
  version: "1.0.0",
  responseTemplate: (content, error) => ({
    code: error ? error.code : 200,
    headers: {},
    content: JSON.stringify({ data: content, error })
  })
})

const openapi = transformer.transform(generateRoutes())
console.log(JSON.stringify(openapi, null, 2))
```


## License

You can copy and paste the MIT license summary from below.

```text
MIT License

Copyright (c) 2022-2025 Kurai Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
npm package: @sigill/watch-your-step
Description: Wraps a function in order to emit log upon start/finish/error.
Author: Cyrille Faucheux
Latest version: 0.2.0

# watch-your-step

Minimal ~~task~~ step runner.

It was designed with build-scripts in mind.
Those often rely on external tools (e.g. CMake, Ninja...) that can produce lots of logs, which does not play nice with fancy task runners with dynamic logging capabilities like [Listr2](https://github.com/cenk1cenk2/listr2) or [Tasuku](https://github.com/privatenumber/tasuku).

## Install

```sh
npm i @sigill/watch-your-step
```

## Usage

```ts
import { step } from '@sigill/watch-your-step'

step({
  title: 'Main step',
  action: () => {
    step('Substep 1', () => {
      console.log('Working on substep 1...');
    });

    step({
      title: 'Substep 2',
      skip: () => 'We are skipping that step',
      action: () => {
        console.log('Working on substep 2...');
      }
    });

    step({
      title: 'Substep 3',
      action: () => {
        console.log('Working on substep 3...');
        throw new Error('something went wrong');
      }
    });
}});

// [STARTED] Main step
// [STARTED] Substep 1
// Working on substep 1...
// [SUCCESS] Substep 1 (0ms)
// [SKIPPED] Substep 2 (We are skipping that step)
// [STARTED] Substep 3
// Working on substep 3...
// [FAILURE] Substep 3 (1ms)
// [FAILURE] Main step (4ms)
// Error: something went wrong
//     at action (file://[...]/example.ts:22:15)
//     ...
```

To use a custom logger:

```typescript
import { ConsoleLogger, makeStepFunction } from './index.js';

const logger = new ConsoleLogger({useGroup: true}); // Or any custom logger.
const step = makeStepFunction(logger);

step(...);
```

## API

### `step<T>(spec)`, `step<T>(title, action)`

Executes an action.

The various prototypes of this function are just provided to enhance type-checking.
In particular, if the step is skippable, its return value can be `undefined`.

#### Parameters

- `spec` (`Step<T>`, required) - The action to execute.
  - `title` (`string`, required) - Title of the step.
  - `action` (`() => T`, required) - The action to execute.
    If it is asynchronous, `T` is a `Promise`.
  - `skip` (`() => string | boolean`, optional) - If thuthy, skips the action.
    If the returned value is a `string`, its value should describe why the action has been skipped.

#### Returns

- `T | undefined` - The value returned by the action, or undefined if the action was skipped.

### `makeStepFunction(logger: Logger)`

Creates a new `step()` function that uses the specified logger.

See the `Logger` class for details on how to write your own.

### `ConsoleLogger`

Default `Logger` implementation that logs step events to the console.

#### Parameters

- `useGroup` (`boolean`, optional, defaults to `false`) - Indicates if `console.group` will be used when logging step events.

## License

This project is released under the terms of the MIT License. See the LICENSE.txt file for more details.
npm package: @sigilry/canton-json-api
Description: Generated TypeScript types for Canton JSON API v2
Latest version: 1.0.1

# @sigilry/canton-json-api

Generated TypeScript types and Zod schemas for Canton JSON API v2.

## What this package provides

- TypeScript types generated from the pinned Canton OpenAPI spec
- Zod schemas generated from the same OpenAPI source
- `int64` fields modeled as `bigint` at the contract boundary

## Install

```bash
yarn add @sigilry/canton-json-api
```

## Usage

```ts
import { zGetLedgerEndResponse } from "@sigilry/canton-json-api";

const parsed = zGetLedgerEndResponse.parse({ offset: "42" });
// parsed.offset is bigint
```

## Source of truth and reproducibility

- Pinned Canton artifact version and hash: `scripts/version-config.json`
- Checked-in OpenAPI snapshot: `api-specs/openapi.yaml`
- Generated outputs: `src/generated/types.gen.ts`, `src/generated/zod.gen.ts`, `src/generated/transformers.gen.ts`

CI runs `codegen:check` to ensure generated files match the checked-in OpenAPI snapshot and fail on drift.

## Regenerate

```bash
yarn workspace @sigilry/canton-json-api regen
```

Or run steps individually:

```bash
yarn workspace @sigilry/canton-json-api fetch
yarn workspace @sigilry/canton-json-api codegen
```
npm package: @sigismund/permit2-sdk
Description: An sdk for interacting with permit2.
Latest version: 1.2.0-airdao.0

# @uniswap/permit2-sdk - Now at `Uniswap/sdks`

All versions after 1.2.0 of this SDK can be found in the [SDK monorepo](https://github.com/Uniswap/sdks/tree/main/sdks/permit2-sdk)! Please file all future issues, PR’s, and discussions there.

### Old Issues and PR’s

If you have an issue or open PR that is still active on this SDK in this repository, please recreate it in the new repository. Some existing issues and PR’s may be automatically migrated by the Uniswap Labs team.
npm package: @sigismund/router-sdk
Description: An sdk for routing swaps using Uniswap v2 and Uniswap v3.
Latest version: 1.6.0-airdao.7

# Alpha software

The latest version of the SDK is used in production in the Uniswap Interface,
but it is considered Alpha software and may contain bugs or change significantly between patch versions.
If you have questions about how to use the SDK, please reach out in the `#dev-chat` channel of the Discord.
Pull requests welcome!

# Uniswap Swap Router SDK

This SDK is meant to facilitate interactions with the contracts in [swap-router-contracts](https://github.com/Uniswap/swap-router-contracts).
npm package: @sigismund/sdk-core
Description: ⚒️ An SDK for building applications on top of Uniswap V3
Latest version: 4.0.7-airdao.1

# Uniswap SDK Core

[![Unit Tests](https://github.com/Uniswap/uniswap-sdk-core/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-sdk-core/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-sdk-core/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-sdk-core/actions?query=workflow%3ALint)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk-core/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk-core/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk-core/latest.svg)](https://bundlephobia.com/result?p=@uniswap/sdk-core@latest)

This code is shared across Uniswap TypeScript SDKs.
npm package: @sigismund/uniswapx-sdk
Description: SDK for the UniswapX protocol
Author: Uniswap
Latest version: 1.5.0

# uniswapx-sdk

SDK for the UniswapX protocol

## Usage

The SDK contains bindings for two main flows: parsing serialized orders & building new orders.

### Building & Signing Orders

```ts
import { DutchOrder, NonceManager } from '@uniswap/uniswapx-sdk';
import { ethers } from 'ethers';

const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const account = await provider.getSigner().getAddress(); 
const nonceMgr = new NonceManager(provider, 1); 
const nonce = await nonceMgr.useNonce(account); 

const chainId = 1;
const builder = new DutchOrderBuilder(chainId);
const order = builder
  .deadline(deadline)
  .decayEndTime(deadline)
  .decayStartTime(deadline - 100)
  .nonce(nonce)
  .input({
    token: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
    amount: BigNumber.from('1000000'),
  })
  .output({
    token: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    startAmount: BigNumber.from('1000000000000000000'),
    endAmount: BigNumber.from('900000000000000000'),
    recipient: '0x0000000000000000000000000000000000000000',
  })
  .build();
 
// Sign the built order 
const { domain, types, values } = order.permitData();
const signature = wallet._signTypedData(domain, types, values);

const serializedOrder = order.serialize();
// submit serializedOrder and signature to order pool
```

### Parsing Orders
```ts
import { DutchOrder, Order } from '@uniswap/uniswapx-sdk';

const serializedOrder = '0x1111222233334444555500000000234300234...';
const chainId = 1; 

const order: Order = DutchOrder.parse(serializedOrder, chainId);

const orderData = order.info;
const orderHash = order.hash();
```
### Validating Orders 
```ts
import { ethers } from 'ethers';
import { OrderValidator } from 'uniswapx-sdk';

const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const validator = new OrderValidator(provider, CHAIN_ID); 
const orders: SignedOrder[] = [
  {
    order: order1, 
    signature: signature1
  }, 
  {
    order: order2, 
    signature: signature2
  }
]; 

try {
  const statusList: OrderValidation[] = await validator.validateBatch(orders); 
  // Do something with list of statuses 
}
catch(e) {
  // Handle error
}

```

### Order Object

**serialize()**

Returns an abi-encoded serialization of the order. This serialized format is passed into the corresponding reactor contract for execution.


**getSigner(signature)**

Recovers the address which created the given signature over the order. Used to determine the order maker.


**permitData()**

Returns the domain, types, and values used to generate an EIP-712 signature over the order. Note that this signature both approves the release of the order's input tokens _and_ the execution of the order itself.


**hash()**

Returns the order hash. This is used as a key to track order fulfillment on-chain. It may also be useful as a unique order identifier for off-chain purposes.
npm package: @sigismund/v2-sdk
Description: 🛠 An SDK for building applications on top of Uniswap V2
Latest version: 3.2.3-airdao.5

# Uniswap V2 SDK

[![Unit Tests](https://github.com/Uniswap/uniswap-v2-sdk/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-v2-sdk/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-v2-sdk/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-v2-sdk/actions?query=workflow%3ALint)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![npm version](https://img.shields.io/npm/v/@uniswap/v2-sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/v2-sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/v2-sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/v2-sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).
npm package: @sigismund/v3-sdk
Description: ⚒️ An SDK for building applications on top of Uniswap V3
Latest version: 3.10.0-airdao.3

# Alpha software

The latest version of the SDK is used in production in the Uniswap Interface,
but it is considered Alpha software and may contain bugs or change significantly between patch versions.
If you have questions about how to use the SDK, please reach out in the `#dev-chat` channel of the Discord.
Pull requests welcome!

# Uniswap V3 SDK

[![Unit Tests](https://github.com/Uniswap/uniswap-v3-sdk/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-v3-sdk/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-v3-sdk/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-v3-sdk/actions?query=workflow%3ALint)
[![npm version](https://img.shields.io/npm/v/@uniswap/v3-sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/v3-sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/v3-sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/v3-sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://docs.uniswap.org/).
npm package: @siglar/cpub
Description: Cloud Publisher
Author: Steffan Halvorsen
Latest version: 1.1.9

# Cloud Publisher

## About

CLI to simplify / automate publishment of Google Compute Engine projects.

## Purpose

Automated setup for running nodejs servers with simple distribution.

### **Requirements**

- NodeJS
- Git
- Debian 9 stretch VM (Virtual Machine) on Google Compute Engine: https://console.cloud.google.com/compute/instances
- Install gcloud SDK: https://cloud.google.com/sdk/install
- Mac or Linux. This is currently not supported for Windows *(Unless you can run **.sh** files)*.

### **Installation**

```bash
npm i -g @siglar/cpub
```

### **Commands**

```bash
# Use to repair apt-get if broken
# WARNING! Use carefully. Read more here:
# https://askubuntu.com/questions/15433/unable-to-lock-the-administration-directory-var-lib-dpkg-is-another-process
pub --fix

# Info about current project
pub --info

# List projects
pub --projects

# Set current project
pub --project project

# Show current project
pub --proj

# Connect / authorize to work with current project
pub --auth

# List instances
pub --instances

# Show current instance
pub --ins

# Set current instance
pub --instance NAME.ZONE.PROJECT_ID
# Get NAME and ZONE from [ pub --instances ]
# Get PROJECT_ID from [ pub --projects ]

# Install dependencies on server
pub --install

# Set repoPath (Required to init)
pub --repoPath /path/to/new/repo
# Example: /home/webservice/repo

# Set hostPath (Required to init & publish / unpublish)
pub --hostPath /path/to/server/dir
# Example: /home/webservice/server

# Initialize new repository
# After this, push to server by: git push live master
pub --init

# Set host file (Required to publish / unpublish)
pub --hostRunnableFile dist/my_server.js

# Publish / distribute changes
pub --publish

# Unpublish / shut down server
# Does also stop database server
pub --unpublish

# Set port offset for database (Required for database)
# Client port = 28015 + offset & dashboard on port 8080 + offset
pub --offset 0

# Start / restart database
pub --database

# Set port number (required to open & close)
pub --port 8080

# Open Port
pub --open

# Close Port
pub --close

# ssh in to server for manual changes & fixes. (Currently shows command.)
pub --ssh

```

### Notice

All arguments can be passed simultaneously.

#### Example

```bash
pub --open --port 8080
pub --instance NAME.ZONE.PROJECT_ID --install
pub --ssh --instance NAME.ZONE.PROJECT_ID
```

The latest configured values which are set will be used.

___

## Grouped by Functionality

### Methods

```bash
pub --auth
pub --install
pub --init
pub --publish
pub --unpublish
pub --database
pub --open
pub --close
pub --ssh
pub --fix
```

### Setters

```bash
pub --project project
pub --instance NAME.ZONE.PROJECT_ID
pub --repoPath /path/to/new/repo
pub --hostPath /path/to/server/dir
pub --hostRunnableFile dist/my_server.js
pub --offset 0
pub --port 8080
```

### Getters

```bash
pub --info
pub --projects
pub --proj
pub --instances
pub --ins
```