Spectra.Core
1.49.0
dotnet add package Spectra.Core --version 1.49.0
NuGet\Install-Package Spectra.Core -Version 1.49.0
<PackageReference Include="Spectra.Core" Version="1.49.0" />
<PackageVersion Include="Spectra.Core" Version="1.49.0" />
<PackageReference Include="Spectra.Core" />
paket add Spectra.Core --version 1.49.0
#r "nuget: Spectra.Core, 1.49.0"
#:package Spectra.Core@1.49.0
#addin nuget:?package=Spectra.Core&version=1.49.0
#tool nuget:?package=Spectra.Core&version=1.49.0
<p align="center"> <img src="assets/spectra_github_readme_banner.png" alt="SPECTRA" width="100%"> </p>
<p align="center"> <a href="https://www.nuget.org/packages/Spectra.CLI"><img src="https://img.shields.io/nuget/v/Spectra.CLI?label=CLI&color=blue" alt="NuGet CLI"></a> <a href="https://www.nuget.org/packages/Spectra.MCP"><img src="https://img.shields.io/nuget/v/Spectra.MCP?label=MCP&color=blue" alt="NuGet MCP"></a> <a href="https://github.com/AutomateThePlanet/Spectra/actions/workflows/ci.yml"><img src="https://github.com/AutomateThePlanet/Spectra/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-blue" alt="License: Apache 2.0"></a> <a href="https://dotnet.microsoft.com/download"><img src="https://img.shields.io/badge/.NET-8.0+-purple" alt=".NET 8.0+"></a> <a href="https://automatetheplanet.github.io/Spectra/"><img src="https://img.shields.io/badge/docs-online-00bcd4" alt="Documentation"></a> </p>
<p align="center"> ๐ <strong>Browse the full documentation at <a href="https://automatetheplanet.github.io/Spectra/">automatetheplanet.github.io/Spectra</a></strong> </p>
<p align="center"> <strong>AI-native test case generation and execution framework.</strong><br> From documentation to deterministic test execution. </p>
What does SPECTRA mean?
The name evokes the visible spectrum โ SPECTRA covers the full spectrum of test activities, from documentation analysis through generation, verification, execution, coverage, and reporting. Nothing in the workflow is left dark.
It also reads as a backronym:
Spec-driven ยท Protocol for ยท Executable ยท Coverage, ยท Testing, ยท Reasoning ยท and ยท Automation
In practice it's a single product with two halves that can be used independently:
- An AI test-generation CLI that turns product documentation into versioned Markdown test cases.
- An MCP execution engine that drives those tests through any AI orchestrator with a deterministic state machine.
Why SPECTRA?
SPECTRA reads your product documentation, generates comprehensive test suites, and executes them through a deterministic AI-orchestrated protocol. It doesn't replace your existing tools โ it adds an AI layer.
Reads your documentation โ Point SPECTRA at your product docs and it generates comprehensive test suites automatically.
AI with guardrails โ Dual-model grounding verification catches hallucinated test steps before they reach your suite.
Test cases as Markdown โ Test cases are plain Markdown files with YAML frontmatter. They live in GitHub, versioned alongside your code.
Deterministic execution โ An MCP-based execution engine provides a state machine that any AI orchestrator can drive without holding state.
Coverage visibility โ Three-dimensional coverage analysis: documentation, acceptance criteria, and automation. Visual dashboard included.
No migration needed โ Integrates with Azure DevOps, Jira, Teams, Slack through their MCP servers. No data sync. No vendor lock-in.
Key Features
AI Test Generation
Generate test cases from product documentation through an iterative session. The AI analyzes your docs, identifies testable behaviors, generates structured test cases, suggests additional tests for uncovered areas, and lets you describe undocumented behaviors โ all in one continuous flow.
Behavior analysis applies six ISTQB test design techniques systematically (Equivalence Partitioning, Boundary Value Analysis, Decision Table, State Transition, Error Guessing, Use Case) so the produced suites have meaningful boundary and negative coverage instead of happy-path-only scenarios. Analysis output exposes both a category breakdown and a per-technique breakdown.
spectra ai generate # Interactive session
spectra ai generate checkout # Direct mode
spectra ai generate checkout --auto-complete --output-format json # CI mode
Grounding Verification
Every generated test is verified by a second AI model against the source documentation. Hallucinated steps are caught and rejected automatically.
Coverage Analysis
Three coverage dimensions tracked automatically:
- Documentation โ which docs have linked tests
- Acceptance Criteria โ which criteria are tested
- Automation โ which tests have automation code
spectra ai analyze --coverage --auto-link
Visual Dashboard
Static HTML dashboard with suite browser, test viewer, run history, and coverage visualizations. Deploy to Cloudflare Pages with GitHub OAuth authentication.
spectra dashboard --output ./site
MCP Execution Engine
Execute tests through Copilot Chat, Claude, or any MCP client. State machine with pause/resume, crash recovery, and three report formats (JSON, Markdown, HTML). Inline documentation lookup via Copilot Spaces โ testers get answers about test steps without leaving the execution flow.
Copilot Chat Integration
Bundled SKILL files let you use SPECTRA through natural language in Copilot Chat. Say "generate test cases for checkout" and the SKILL handles CLI invocation, JSON parsing, and result presentation.
spectra init # Creates 12 SKILLs + 2 agent prompts
spectra update-skills # Update SKILLs when CLI is upgraded
Generation Profiles
Customize AI output with natural language profiles โ detail level, negative scenario count, domain rules, formatting preferences.
Quick Start
Prerequisites: .NET 8.0+
# Install
dotnet tool install -g Spectra.CLI
# Initialize (creates config, dirs, SKILL files, agent prompts)
spectra init
# Build the document index (also extracts acceptance criteria automatically)
spectra docs index
# Generate tests โ interactive session with analysis, suggestions, and more
spectra ai generate
# Or direct mode for a specific suite
spectra ai generate checkout --count 10
# Validate generated tests
spectra validate
# Analyze coverage
spectra ai analyze --coverage
# Generate a visual dashboard
spectra dashboard --output ./site
For CI/SKILL workflows โ all commands support --output-format json and --no-interaction:
spectra ai generate checkout --auto-complete --output-format json
spectra ai analyze --coverage --output-format json
spectra validate --output-format json --no-interaction
See Getting Started for auth setup and detailed instructions.
Using SPECTRA from VS Code Copilot Chat
After spectra init, the bundled spectra-quickstart SKILL turns Copilot Chat into a guided onboarding entry point. Open Copilot Chat in VS Code and ask:
"Help me get started"
The assistant walks you through every workflow (test generation, criteria extraction, coverage, dashboard, execution, customization) with copyable example prompts. For an offline reference covering the same workflows, see the auto-generated USAGE.md at your project root.
Architecture
docs/ <- Source documentation
|
docs/_index.md <- Pre-built document index (incremental)
|
AI Test Generation CLI <- GitHub Copilot SDK (sole AI runtime)
| Supports: github-models, azure-openai,
test-cases/ <- azure-anthropic, openai, anthropic
|
MCP Execution Engine <- Deterministic state machine
|
LLM Orchestrator <- Copilot Chat, Claude, any MCP client
| (as needed)
Azure DevOps / Jira / Teams <- Bug logging, notifications via their MCPs
| Subsystem | Purpose | Independent? |
|---|---|---|
| AI CLI | Generate, update, and analyze test cases from documentation | Yes |
| MCP Engine | Execute tests through deterministic AI-orchestrated protocol | Yes |
Ecosystem
SPECTRA is part of the Automate The Planet ecosystem:
| Tool | Purpose |
|---|---|
| BELLATRIX | Test automation framework |
| Testimize | Test case optimization (hybrid ABC algorithm) |
| SPECTRA | AI test generation and execution protocol |
BELLATRIX automates test execution. Testimize optimizes test case selection. SPECTRA generates and maintains the test cases themselves โ closing the loop between documentation and quality assurance.
Optional Testimize integration: SPECTRA ships with the Testimize library bundled as an in-process NuGet dependency (no separate installation needed). When enabled, it replaces AI-approximated boundary values with mathematically precise ones โ exact min-1/min/max/max+1 BVA, security-focused invalid patterns (XSS, SQLi), and optimized multi-field pairwise/ABC combinations. Disabled by default; set
testimize.enabledtotrueinspectra.config.json. See Testimize Integration.
Documentation
| Guide | Description |
|---|---|
| Getting Started | Install, prerequisites, auth setup, first run |
| CLI Reference | All commands, flags, and options |
| Configuration | Full spectra.config.json reference |
| Test Format | Markdown format, YAML frontmatter, metadata schema |
| Coverage Analysis | Documentation, Requirements, and Automation coverage |
| Generation Profiles | Customize AI output style and quality |
| Grounding Verification | Dual-model critic for hallucination detection |
| Document Index | Pre-built doc index for efficient generation |
| Skills Integration | Copilot Chat SKILLs and agent prompts |
| Usage (Copilot Chat) | Workflow-by-workflow guide for driving SPECTRA via Copilot Chat |
| Customization | Every customization knob โ config, profiles, prompts, palettes |
| Testimize Integration | Optional algorithmic test data optimization (BVA / EP / pairwise / ABC) |
| Execution Agent | MCP tools and AI-driven test execution |
| Architecture | System design and key decisions |
| Development Guide | Building, testing, and running locally |
Project Status
SPECTRA is in active development.
- Phase 1: AI Test Generation CLI โ
- Phase 2: MCP Execution Engine โ
- Phase 3: Dashboard & Coverage Analysis โ
- Phase 4: Test Generation Profiles โ
- Phase 5: Grounding Verification โ
- Phase 6: Integrations and Ecosystem โ current
Contributing
Contributions are welcome! See CONTRIBUTING.md for build instructions, code style guidelines, and the PR process.
License
Licensed under the Apache License, Version 2.0. See LICENSE for the full text.
Copyright 2024-2026 Automate The Planet Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- CsvHelper (>= 33.1.0)
- Markdig (>= 1.1.2)
- Microsoft.Data.Sqlite (>= 10.0.5)
- YamlDotNet (>= 16.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.