# teleprompt

> Command line client for teleprompt.io. Get interactive input from authenticated users in headless environments.

Latest version **0.1.0-alpha.16** (published 2020-06-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install teleprompt
pnpm add teleprompt
yarn add teleprompt
bun add teleprompt
```

Provides the command `teleprompt`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0-alpha.16 |
| Published | 2020-06-10 |
| First published | 2020-06-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 21.5 KB |
| Known vulnerabilities | 0 (+4 in 3 direct dependencies) |
| Install scripts | no |
| Author | Andy Wermke |
| Maintainers | andywer |
| Keywords | teleprompt, headless, build, password, secret, 2fa, encryption |

## Links

- npm: https://www.npmjs.com/package/teleprompt
- Homepage: https://docs.teleprompt.io/
- npm.io page: https://npm.io/package/teleprompt

## Dependencies (6)

- [got](https://npm.io/package/got.md) ^10.7.0
- [meow](https://npm.io/package/meow.md) ^6.1.0
- [toml](https://npm.io/package/toml.md) ^3.0.0
- [uuid](https://npm.io/package/uuid.md) ^7.0.3
- [env-ci](https://npm.io/package/env-ci.md) ^5.0.2
- [tweetnacl](https://npm.io/package/tweetnacl.md) ^1.0.3

## Alternatives

- [raw-loader](https://npm.io/package/raw-loader.md) — 4.3M weekly downloads
- [plop](https://npm.io/package/plop.md) — 1.4M weekly downloads
- [webpack-deadcode-plugin](https://npm.io/package/webpack-deadcode-plugin.md) — 80.3K weekly downloads
- [@storybook/preact-vite](https://npm.io/package/@storybook/preact-vite.md) — 54.2K weekly downloads
- [vite-plugin-transform](https://npm.io/package/vite-plugin-transform.md) — 2.4K weekly downloads

## Recent versions

- 0.1.0-alpha.16 (latest) — 2020-06-10
- 0.1.0-alpha.15 — 2020-06-09

## README

# Teleprompt client

Command line client for [teleprompt.io](https://teleprompt.io/). Enables you to get interactive input from authenticated users in headless environments like build jobs.

Use it to prompt a maintainer for a password, two factor authentication code, production certificate file or similar in CI. All data is end-to-end encrypted using X25519 asymmetric encryption.

Works in all Continuous Integration tools, like Travis CI, Circle CI, GitHub actions, GitLab CI, AppVeyor and others.

<!-- Future: Link to recipes here -->

## Installation

```
npm install --save-dev teleprompt
```

## Usage

```
Usage
  teleprompt --prompt <name>:<type>[:<title>] [--prompt …]
    or
  teleprompt [--config <path>] [--prompt <name> [--prompt …]]

Options
  --api-key <key>           Use this API key to authenticate
  --config, -c <path>       Read prompt descriptions from a TOML or JSON file
  --disable-encryption      Disable end-to-end encryption
  --help                    Show this usage help text
  --link <url>              Add a custom backlink to this prompt
  --only <name>             Prompt for this value only, write raw value to stdout
  --output-format <format>  Output formatting, can be "json" (default), "cli", "raw"
  --prompt, -p              Request a value from the user
    <name>:<type>[:<title>] Type can be "password", "text", "otp", "file" or "select"
                            If type is "select",
  --title <title>           Set a title for this prompt
  --version                 Show the current version

If --api-key is not set the API key will be read from the .teleprompt.key file.
If --config is not set the teleprompt.{json,toml} file will be loaded if present.
Set --api-key or --config to "-" to read from stdin.
```

## API key

To obtain an API key, login to [teleprompt.io](https://teleprompt.io) with your GitHub account and create a new project. A new API key will be created that you can save to a `.teleprompt.key` file (don't forget to `.gitignore`!) or set up as a secret environment variable in your build environment and pass to `teleprompt` using `--api-key $KEY`.

## Configuration

Create a file called `teleprompt.toml` or `.teleprompt.toml` if you don't want to pass all the configuration using command line options or if your want to use dropdown inputs.

Here is a sample `teleprompt.toml`:

```
# the following project settings are all optional
title = "Authorize my thing"
link = "https://ci.example.org/build/\${BUILDREF}"
disableEncryption = false

[[prompts]]
name = "username"
type = "text"

[[prompts]]
name = "password"
type = "password"

[[prompts]]
name = "target"
type = "select"

[[prompts.choices]]
title = "Production"    # optional
value = "production"

[[prompts.choices]]
title = "Staging"       # optional
value = "staging"
```

## License

MIT

---
_Source: https://npm.io/package/teleprompt · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
