PromptKit

module
v1.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2026 License: Apache-2.0

README

PromptKit

CI Provider Matrix Docs Quality Gate Status Coverage Go Report Card Go Reference

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

PromptKit is the open-source toolkit for PromptPack — 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)
License Apache 2.0 MIT Closed Closed

¹ Promptfoo has a text-only simulated user and separate audio testing, but doesn't combine them — it can't drive a persona-driven caller through a realtime voice agent.

Install

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

Building from source: see CONTRIBUTING.md.

Quick Start

1. Create a project
promptarena init my-project --template iot-maintenance-demo
cd my-project

init project

2. Inspect configuration
promptarena config-inspect

config overview

3. Run a test scenario
promptarena run --scenario scenarios/hardware-faults.scenario.yaml

run scenario

4. Red-team security testing
promptarena run --scenario scenarios/redteam-selfplay.scenario.yaml

redteam test

5. Review results
promptarena view

view conversation

6. Deploy with the SDK

Compile prompts and run in your Go application:

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

sdk demo

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:

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.

Features

Feature Description
Multi-Provider OpenAI, Anthropic, Google Gemini, Azure OpenAI, Ollama, vLLM
Skills Native AgentSkills.io support — demand-driven knowledge loading with progressive disclosure
A2A Protocol Agent-to-Agent communication with multi-agent orchestration and discovery
Workflows Event-driven state machines with orchestration modes and context carry-forward
MCP Integration Native Model Context Protocol for real tool execution
Deploy Adapters Plan, apply, and manage deployments via pluggable adapter SDK
Self-Play Testing AI personas for adversarial and user simulation
Voice Self-Play Adversarial TTS personas stress-test realtime voice agents (Gemini Live, OpenAI Realtime), scored on behavior + speech-emotion
Red-Team Security testing with prompt injection detection
Tool Validation Mock or live tool call verification with three-level scoping
SDK Deployment Compile prompts to portable packs for production

GitHub Actions

Integrate PromptKit into your CI/CD pipelines with our GitHub Actions:

PromptArena Action

Run prompt tests in your workflows:

- name: Run prompt tests
  uses: AltairaLabs/PromptKit/.github/actions/promptarena-action@v1
  with:
    config-file: config.arena.yaml
  env:
    OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
PackC Action

Compile and publish prompt packs to OCI registries:

- name: Build and publish pack
  uses: AltairaLabs/PromptKit/.github/actions/packc-action@v1
  with:
    config-file: config.arena.yaml
    registry: ghcr.io
    repository: ${{ github.repository }}/prompts
    username: ${{ github.actor }}
    password: ${{ secrets.GITHUB_TOKEN }}

See the GitHub Actions documentation for full usage details.

Repository Structure

promptkit/
├── tools/arena/     # PromptKit Arena CLI (testing, red-team, deploy)
├── tools/packc/     # Pack Compiler CLI
├── sdk/             # Production SDK (conversations, workflows, A2A, skills)
├── runtime/         # Shared runtime (providers, pipeline, tools, skills, a2a, deploy)
├── examples/        # Example projects
└── docs/            # Documentation

Contributing

See CONTRIBUTING.md.

AI Development

For AI coding assistants working on this repository, see AGENTS.md for critical development rules and pre-commit requirements.

License

Apache 2.0 - See LICENSE.


Built by AltairaLabs.ai

Directories

Path Synopsis
examples
arena-telemetry command
Example: Running Arena programmatically with OTel tracing and Prometheus metrics.
Example: Running Arena programmatically with OTel tracing and Prometheus metrics.
session-replay/demo command
Demo of session recording and synchronized playback.
Demo of session recording and synchronized playback.
pkg module
runtime module
sdk module
server
a2a module
tools
arena module
packc module
schema-gen module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL