Set up the ABS CLI and run your first session.
ABS is available as a CLI (npm/Python) and as a .NET library. The CLI provides commands to initialize, run, and report on ABS sessions; the .NET library embeds the same parser, runner and evaluators directly in your C# application.
npm install -g abslang
Verify the installation:
abslang --version
# abs v0.1.0
pip install abslang
dotnet add package AbsLang
Optional cloud adapters:
dotnet add package AbsLang.Adapters.Aws
dotnet add package AbsLang.Adapters.Google
using AbsLang;
var session = AbsParser.Parse("sessions/order-status.abs.yaml");
var result = await new AbsRunner().RunAsync(
session,
new AgentConfig { Url = "http://localhost:8080/chat" });
Console.WriteLine(AbsReports.FormatTable(result));
The .NET package supports openai, responses, claude and gemini agent
protocols, tool round-trips, optional behaviors, LLM judges, cloud adapters,
reference metrics, and structured RunLogger events (including duration_ms)
for Datadog/OpenTelemetry. See the
C# guide for the full
API. The CLI and chat remain available only through npm and pip.
abslang init my-agent-tests
cd my-agent-tests
This creates:
my-agent-tests/
├── abs.config.yaml # Configuration
├── sessions/ # Your .abs.yaml files go here
└── README.md
Describe the behavior in plain language and abslang generates the .abs.yaml for you:
abslang chat
# Uses OPENAI_API_KEY, ANTHROPIC_API_KEY, or DEEPSEEK_API_KEY — whichever is set
# You: A customer asks for a refund. The agent should verify the order, process it, and confirm.
# → generates a complete .abs.yaml with evaluations, datasets, and chain checks
abslang run sessions/order-status.abs.yaml
For more details on the CLI, see the CLI Reference.