# waffie

> LLM prompt manager

Latest version **0.1.0** (published 2023-07-28) · GPL-3.0-only license · 0 weekly downloads

## Install

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

Provides the command `waffie`.

## Health

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

Positive: has types; no vulnerabilities; high quality score.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2023-07-28 |
| First published | 2023-07-28 |
| Weekly downloads | 0 |
| License | GPL-3.0-only |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=12.0.0 |
| Dependencies | 7 |
| Unpacked size | 13 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 10 |
| Author | Roger Lam |
| Maintainers | lamroger |
| Keywords | oclif |

## Links

- npm: https://www.npmjs.com/package/waffie
- Repository: https://github.com/lamroger/waffie
- Issues: https://github.com/lamroger/waffie/issues
- npm.io page: https://npm.io/package/waffie

## Dependencies (7)

- [yaml](https://npm.io/package/yaml.md) ^2.3.1
- [dotenv](https://npm.io/package/dotenv.md) ^16.3.1
- [openai](https://npm.io/package/openai.md) ^3.3.0
- [csv-parse](https://npm.io/package/csv-parse.md) ^5.4.0
- [@oclif/core](https://npm.io/package/@oclif/core.md) ^2
- [@oclif/plugin-help](https://npm.io/package/@oclif/plugin-help.md) ^5
- [@oclif/plugin-plugins](https://npm.io/package/@oclif/plugin-plugins.md) ^2.4.7

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 0.1.0 (latest) — 2023-07-28

## README

Waffie CLI
=================

<!-- toc -->
* [Why](#why)
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->

# Why
LLMs are statistical alien interns. They can pattern match and reach conclusions but
don't tell you how confident they are in their answers. Maybe today they're wrong 2%
of the time. In a month, they learn new things and start becoming wrong 5% of the time.
Now the planet of Anthropic's interns are better at sentiment analysis.

Concepts like loss calculation and model drift already exist in traditional machine learning settings. The Waffie CLI is built to help make those concepts accessible to software developers leveraging LLM APIs, enabling them to create the best out-of-this-world solutions possible.

## How
We leverage prompt engineering and are inspired by [TypeChat](https://github.com/microsoft/TypeChat/),
directing the LLM into responding in a machine-readable way.

Configuration is read through a Waffiefile where you can specify test files, API providers,
and model versions.

Results are returned so you can compare across multiple models and time.

# Usage
<!-- usage -->
```sh-session
$ npm install -g waffie
$ waffie COMMAND
running command...
$ waffie (--version)
waffie/0.1.0 darwin-x64 node-v18.9.0
$ waffie --help [COMMAND]
USAGE
  $ waffie COMMAND
...
```
<!-- usagestop -->


# Commands
<!-- commands -->
* [`waffie file FILEPATH`](#waffie-file-filepath)
* [`waffie help [COMMANDS]`](#waffie-help-commands)

## `waffie file FILEPATH`

Runs automated tests using the provided Waffiefile

```
USAGE
  $ waffie file FILEPATH [-n <value>] [-f]

ARGUMENTS
  FILEPATH  Path to Waffiefile

FLAGS
  -f, --force
  -n, --name=<value>  name to print

DESCRIPTION
  Runs automated tests using the provided Waffiefile

EXAMPLES
  $ waffie file
```

_See code: [dist/commands/file.ts](https://github.com/lamroger/waffie/blob/v0.1.0/dist/commands/file.ts)_

## `waffie help [COMMANDS]`

Display help for waffie.

```
USAGE
  $ waffie help [COMMANDS] [-n]

ARGUMENTS
  COMMANDS  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for waffie.
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.2.14/src/commands/help.ts)_
<!-- commandsstop -->
* [`waffie file WAFFIEFILE`](#waffie-file-waffiefile)
* [`waffie help [COMMANDS]`](#waffie-help-commands)

## `waffie file WAFFIEFILE`

Compare input and expected output

```
USAGE
  $ waffie file WAFFIEFILE

ARGUMENTS
  WAFFIEFILE Path to Waffiefile

FLAGS

DESCRIPTION
  Compare input and expected output across different providers and models

EXAMPLES
  $ waffie file examples/sentiment-analysis/Waffiefile
  {
    file: '/Users/rogerlam/waffie/examples/sentiment-analysis/test/feedback.csv',
    count: 22,
    passed: 22,
    allPassed: true
  }
```

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