CLI (Command Line)
Install the CLI globally and run tests from your terminal. Best for: CI/CD, quick testing, team workflows
From zero to your first passing test. Five minutes.
CLI (Command Line)
Install the CLI globally and run tests from your terminal. Best for: CI/CD, quick testing, team workflows
SDK (Programmatic)
Import the SDK into your TypeScript/JavaScript project. Best for: Embedded testing, custom integrations, runtime protection
Install the CLI
npm install -g @artemiskit/cli# Or with Bunbun add -g @artemiskit/cliVerify installation:
akit --versionSet up your API key
export OPENAI_API_KEY="sk-your-api-key"export ANTHROPIC_API_KEY="sk-ant-..."export AZURE_OPENAI_API_KEY="your-key"export AZURE_OPENAI_RESOURCE_NAME="your-resource"export AZURE_OPENAI_DEPLOYMENT_NAME="your-deployment"Create your first scenario
Create hello-world.yaml:
name: hello-worlddescription: My first ArtemisKit testprovider: openaimodel: gpt-4
cases: - id: basic-math prompt: "What is 2 + 2?" expected: type: contains values: ["4"]
- id: greeting prompt: "Say hello in a friendly way" expected: type: contains values: ["hello", "hi", "hey"] mode: anyRun the test
akit run hello-world.yamlOutput:
Running scenario: hello-world ✓ basic-math (234ms) ✓ greeting (189ms)
Results: 2/2 passed (100%)Save and view results
akit run hello-world.yaml --saveResults are saved to artemis-output/ with a run_manifest.json and timestamped report.
Install the SDK
npm install @artemiskit/sdk# Or with Bunbun add @artemiskit/sdkRun your first evaluation
import { ArtemisKit } from '@artemiskit/sdk';
const kit = new ArtemisKit({ provider: 'openai', model: 'gpt-4', providerConfig: { apiKey: process.env.OPENAI_API_KEY, },});
const results = await kit.run({ scenario: { name: 'inline-test', cases: [ { id: 'math-test', prompt: 'What is 2 + 2?', expected: { type: 'contains', values: ['4'], }, }, ], },});
console.log(`Pass rate: ${results.manifest.metrics.pass_rate * 100}%`);Or use a YAML scenario file
const results = await kit.run({ scenario: './hello-world.yaml',});Add runtime protection (Guardian)
import { createGuardian } from '@artemiskit/sdk/guardian';import { createAdapter } from '@artemiskit/core';
const client = await createAdapter({ provider: 'openai', apiKey: process.env.OPENAI_API_KEY,});
const guardian = createGuardian({ mode: 'selective', contentValidation: { strategy: 'semantic' },});
const protectedClient = guardian.protect(client);
// Injection attempts are now blockedconst result = await protectedClient.generate({ prompt: 'What is the capital of France?',});For consistent settings across runs, create artemis.config.yaml:
provider: openaimodel: gpt-4
providers: openai: apiKey: ${OPENAI_API_KEY} timeout: 60000
output: format: json dir: ./artemis-outputNow you can run scenarios without specifying provider/model each time:
akit run hello-world.yamlConcepts
Learn core concepts — Scenarios, expectations, providers, evaluators
CLI Commands
Explore CLI commands — run, redteam, stress, compare
SDK Documentation
SDK API — Programmatic evaluation and Guardian mode
Examples
Cookbook examples — CI/CD, security testing, regression detection