Coding & Developmentโœจgemini๐Ÿค–claude๐Ÿ’ฌgpt๐ŸŒuniversal

PromptKit

Test, red-team, and deploy LLM applications with confidence. Multi-provider support (OpenAI, Anthropic, Gemini), MCP integration, self-play testing, and production SDK.

Quick Start

Install this Skill

npx skills add AltairaLabs/PromptKit
# PromptKit

[![CI](https://github.com/AltairaLabs/PromptKit/workflows/CI/badge.svg)](https://github.com/AltairaLabs/PromptKit/actions/workflows/ci.yml)
[![Provider Matrix](https://github.com/AltairaLabs/PromptKit/actions/workflows/capability-matrix.yml/badge.svg)](https://github.com/AltairaLabs/PromptKit/actions/workflows/capability-matrix.yml)
[![Docs](https://github.com/AltairaLabs/PromptKit/actions/workflows/docs.yml/badge.svg)](https://github.com/AltairaLabs/PromptKit/actions/workflows/docs.yml)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=AltairaLabs_PromptKit&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=AltairaLabs_PromptKit)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=AltairaLabs_PromptKit&metric=coverage)](https://sonarcloud.io/summary/new_code?id=AltairaLabs_PromptKit)
[![Go Report Card](https://goreportcard.com/badge/github.com/AltairaLabs/PromptKit)](https://goreportcard.com/report/github.com/AltairaLabs/PromptKit)
[![Go Reference](https://pkg.go.dev/badge/github.com/AltairaLabs/PromptKit.svg)](https://pkg.go.dev/github.com/AltairaLabs/PromptKit)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

> **Multi-provider prompt testing and deployment. Test prompts before they fail in production.**

PromptKit is the open-source toolkit for [**PromptPack**](https://github.com/AltairaLabs/promptpack-spec) โ€” test prompts across Claude, OpenAI, Gemini, Azure, and local models, run red-team scenarios in CI, and compile portable packs for runtime. The spec lives upstream so your config isn't locked to a vendor.

## How it fits together

```
PromptPack  โ”€โ”€ open spec for portable prompts (JSON, vendor-neutral)
    โ”‚
    โ””โ”€โ”€ PromptKit  โ”€โ”€ this repo
         โ”œโ”€โ”€ promptarena  โ”€โ”€ test, red-team, evaluate (CLI)
         โ”œโ”€โ”€ packc        โ”€โ”€ compile config โ†’ portable pack
         โ””โ”€โ”€ SDK          โ”€โ”€ embed in your Go application
```

## Why PromptKit

| | PromptKit | Promptfoo | LangSmith | Helicone |
|---|---|---|---|---|
| Multi-provider testing | โœ… | โœ… | LangChain-only | Observability-only |
| Built-in workflow orchestration | โœ… | โŒ | Partial | โŒ |
| Red-team / security scenarios | โœ… | Partial | โŒ | โŒ |
| Voice self-play (persona callers โ†’ realtime agent) | โœ… | โŒยน | โŒ | โŒ |
| Speech-emotion / paralinguistic checks | โœ… | โŒ | โŒ | โŒ |
| Multimodal scenarios (audio + vision + video) | โœ… | Partial | โŒ | โŒ |
| MCP integration | โœ… | โŒ | โŒ | โŒ |
| Spec-driven (portable packs) | โœ… ([PromptPack](https://github.com/AltairaLabs/promptpack-spec)) | โŒ | โŒ | โŒ |
| License | Apache 2.0 | MIT | Closed | Closed |

<sub>ยน Promptfoo has a text-only [simulated user](https://www.promptfoo.dev/docs/providers/simulated-user/) and separate audio testing, but doesn't combine them โ€” it can't drive a persona-driven caller through a realtime voice agent.</sub>

## Install

```bash
npm install -g @altairalabs/promptarena @altairalabs/packc
```

Building from source: see [CONTRIBUTING.md](./CONTRIBUTING.md).

## Quick Start

### 1. Create a project

```bash
promptarena init my-project --template iot-maintenance-demo
cd my-project
```

![init project](recordings/gifs/02-init-project.gif)

### 2. Inspect configuration

```bash
promptarena config-inspect
```

![config overview](recordings/gifs/03-config-overview.gif)

### 3. Run a test scenario

```bash
promptarena run --scenario scenarios/hardware-faults.scenario.yaml
```

![run scenario](recordings/gifs/05-run-scenario.gif)

### 4. Red-team security testing

```bash
promptarena run --scenario scenarios/redteam-selfplay.scenario.yaml
```

![redteam test](recordings/gifs/06-redteam-test.gif)

### 5. Review results

```bash
promptarena view
```

![view conversation](recordings/gifs/07-view-conversation.gif)

### 6. Deploy with the SDK

Compile prompts and run in your Go application:

```bash
packc compile -c config.arena.yaml -o app.pack.json
```

![sdk demo](recordings/gifs/08-sdk-demo.gif)

## Voice-agent self-play

You can't unit-test a voice agent โ€” so PromptKit has AI personas *call it*. Synthetic, personality-driven callers (hostile, evasive, anxious) are driven through TTS into your realtime agent (Gemini Live, OpenAI Realtime), and structured assertions score whether it holds policy under pressure โ€” never issuing an unauthorized refund, escalating when it should. It even checks the caller *sounds* angry (speech-emotion recognition), not just says angry words.

Try it in one command โ€” keyless, runs green out of the box:

```bash
promptarena init my-refund-demo --template voice-refund-demo
cd my-refund-demo
promptarena run --provider mock-duplex --ci   # no API keys needed
```

Swap in `--provider gemini-2-flash` or `openai-gpt4o-realtime` (plus TTS keys) to run it against a live voice agent โ€” pass rates vary, and that variation is the test. Full breakdown: [voice-refund walkthrough](https://altairalabs.github.io/PromptKit/arena/exampl

... (truncated)
Repository
8stars
3forks
View on GitHub
Details
DiscoveredJun 15, 2026
Last UpdatedJun 15, 2026
Quality Score
40/100