Skip to content

Commit 23d14d1

Browse files
Merge branch '034-github-pages-docs'
2 parents ffedc39 + 5157af5 commit 23d14d1

34 files changed

+670
-0
lines changed

.github/workflows/docs.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Deploy Documentation
2+
3+
# One-time manual setup required:
4+
# Settings → Pages → Source: GitHub Actions
5+
6+
on:
7+
push:
8+
branches: [main]
9+
paths:
10+
- 'docs/**'
11+
- '.github/workflows/docs.yml'
12+
workflow_dispatch:
13+
14+
permissions:
15+
contents: read
16+
pages: write
17+
id-token: write
18+
19+
concurrency:
20+
group: "pages"
21+
cancel-in-progress: false
22+
23+
jobs:
24+
build:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v4
29+
30+
- name: Setup Pages
31+
uses: actions/configure-pages@v5
32+
33+
- name: Build with Jekyll
34+
uses: actions/jekyll-build-pages@v1
35+
with:
36+
source: ./docs
37+
destination: ./_site
38+
39+
- name: Upload artifact
40+
uses: actions/upload-pages-artifact@v3
41+
42+
deploy:
43+
environment:
44+
name: github-pages
45+
url: ${{ steps.deployment.outputs.page_url }}
46+
runs-on: ubuntu-latest
47+
needs: build
48+
steps:
49+
- name: Deploy to GitHub Pages
50+
id: deployment
51+
uses: actions/deploy-pages@v4

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ spectra config list-automation-dirs # List dirs with existence s
209209
- **Tests:** xUnit with structured results (never throw on validation errors)
210210

211211
## Recent Changes
212+
- 034-github-pages-docs: ✅ COMPLETE - GitHub Pages documentation site. Deployed existing `docs/` markdown files as a branded documentation site using Just the Docs Jekyll theme at `automatetheplanet.github.io/Spectra/`. Custom `spectra` color scheme matching ATP brand identity (dark navy sidebar #16213e, teal accents #00bcd4, white content area). Sidebar navigation with hierarchical grouping (User Guide, Architecture, Execution Agents, Deployment sections). Built-in client-side search across all pages. Landing page with quick install and feature overview. New `.github/workflows/docs.yml` (jekyll-build-pages → deploy-pages) auto-deploys on push to `main` when `docs/**` changes; one-time manual setting required (Settings → Pages → Source: GitHub Actions). "Edit this page" links on every page via `gh_edit_*` config. Excluded machine-generated files (`_index.md`, `_index.yaml`, `_index.json`, `criteria/`, `**/*.criteria.yaml`, `_criteria_index.yaml`) from site build. Added YAML frontmatter (`title`, `nav_order`, `parent`) to all 20 existing user-facing doc files in their actual subfolder locations — no files moved. Created 8 new files: `docs/_config.yml`, `docs/Gemfile`, `docs/_sass/color_schemes/spectra.scss`, `docs/index.md`, `docs/user-guide.md`, `docs/architecture.md`, `docs/execution-agents.md`, `docs/deployment.md`. Updated `README.md` with docs site badge and pointer. Documentation-only change — no C# code, no test changes.
212213
- 033-from-description-chat-flow: ✅ COMPLETE - From-description chat flow & doc-aware manual tests. Updated `spectra-generate` SKILL with dedicated "When the user wants to create a specific test case" section (numbered 5-step sequence) and intent-routing table mapping topic-vs-scenario signals to `--focus`, `--from-description`, or `--from-suggestions`. Updated `spectra-generation` agent prompt with new "Test Creation Intent Routing" section (Intent 1: explore area → `--focus`; Intent 2: specific test → `--from-description`; Intent 3: from suggestions → `--from-suggestions`) and explicit "do NOT ask about count or scope" rule. Enhanced `UserDescribedGenerator` with new public static `BuildPrompt()` method (testable prompt construction) and optional `documentContext` / `criteriaContext` / `sourceRefPaths` parameters on `GenerateAsync()`. `GenerateHandler.ExecuteFromDescriptionAsync` now best-effort loads matching documentation (capped at 3 docs × 8000 chars via `SourceDocumentLoader`) and acceptance criteria (via existing `LoadCriteriaContextAsync`) before calling the generator — failures are swallowed (best-effort, non-blocking). Resulting tests get populated `source_refs` (from loaded doc paths) and `criteria` (from AI-matched IDs) when context is available; `grounding.verdict` remains `manual` regardless. New `FilterDocsForSuite` and `FormatDocContext` private helpers in `GenerateHandler`. New tests: `UserDescribedGeneratorTests` (9 prompt-builder tests) and `GenerateSkillContentTests` (10 SKILL/agent content tests). `GenerationAgent_LineCount` limit raised 100→140 to fit the new routing section. 19 new tests. 1453 total tests passing.
213214
- 032-quickstart-skill-usage-guide: ✅ COMPLETE - Quickstart SKILL & USAGE.md offline guide. New `spectra-quickstart` SKILL (12th bundled SKILL) — workflow-oriented onboarding that responds to "help me get started", "tutorial", "walk me through" with 12 workflow walkthroughs and example conversations. Teaching-only (no CLI execution); delegates actual workflow execution to the corresponding workflow SKILLs. New `USAGE.md` bundled doc written to project root by `spectra init` (offline mirror of the quickstart SKILL, free of in-chat tool references). Both artifacts hash-tracked by the existing `update-skills` system. New `ProfileFormatLoader.LoadEmbeddedUsageGuide()` method. New `InitHandler.CreateUsageGuideAsync` (gated by `--skip-skills`). Generation and execution agent prompts gain a `**QUICKSTART**` delegation line directing onboarding intents to the new SKILL. Updated SKILL count test (11→12). 7 new tests (quickstart SKILL content, USAGE.md content + offline-clean assertions, init creates both files, --skip-skills skips both files, both agents reference quickstart). 1434 total tests passing.
214215
- 030-prompt-templates: ✅ COMPLETE - Customizable root prompt templates. Introduced `.spectra/prompts/` directory with 5 markdown templates (behavior-analysis, test-generation, criteria-extraction, critic-verification, test-update) controlling all AI operations. Templates use `{{placeholder}}`, `{{#if}}`, `{{#each}}` syntax with built-in defaults as embedded resources. New `PlaceholderResolver`, `PromptTemplateParser`, `PromptTemplateLoader`, `BuiltInTemplates` in `Spectra.CLI/Prompts/`. Replaced hardcoded prompts in `BehaviorAnalyzer`, `CopilotGenerationAgent`, `CriteriaExtractor`, `CriticPromptBuilder` with template-driven approach (legacy fallback preserved). New `analysis.categories` config section with 6 default categories (happy_path, negative, edge_case, boundary, error_handling, security). New `spectra prompts list/show/reset/validate` CLI commands with JSON output. New `spectra-prompts` SKILL (11th bundled SKILL). Init creates `.spectra/prompts/` with defaults. `update-skills` tracks template hashes for safe updates. 65+ new tests. 1417 total tests passing.

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
<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>
1111
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
1212
<a href="https://dotnet.microsoft.com/download"><img src="https://img.shields.io/badge/.NET-8.0+-purple" alt=".NET 8.0+"></a>
13+
<a href="https://automatetheplanet.github.io/Spectra/"><img src="https://img.shields.io/badge/docs-online-00bcd4" alt="Documentation"></a>
14+
</p>
15+
16+
<p align="center">
17+
📖 <strong>Browse the full documentation at <a href="https://automatetheplanet.github.io/Spectra/">automatetheplanet.github.io/Spectra</a></strong>
1318
</p>
1419

1520
<!-- Tagline -->

docs/DEVELOPMENT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
---
2+
title: Development
3+
nav_order: 6
4+
---
5+
16
# Development Guide
27

38
Building, testing, and running SPECTRA locally.

docs/Gemfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll-seo-tag"
4+
gem "just-the-docs"

docs/_config.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
title: SPECTRA
2+
description: AI-native test generation and execution framework
3+
theme: just-the-docs
4+
url: https://automatetheplanet.github.io
5+
baseurl: /Spectra
6+
7+
# Branding
8+
logo: /assets/images/spectra-logo.svg
9+
favicon_ico: /assets/images/favicon.ico
10+
11+
# Color scheme (custom ATP brand)
12+
color_scheme: spectra
13+
14+
# Search
15+
search_enabled: true
16+
search:
17+
heading_level: 3
18+
previews: 2
19+
preview_words_before: 3
20+
preview_words_after: 3
21+
tokenizer_separator: /[\s\-/]+/
22+
rel_url: true
23+
button: true
24+
25+
# Navigation
26+
nav_sort: case_insensitive
27+
28+
# Table of contents
29+
heading_anchors: true
30+
31+
# Footer
32+
footer_content: 'SPECTRA is part of the <a href="https://www.automatetheplanet.com/">Automate The Planet</a> ecosystem. MIT Licensed.'
33+
34+
# Aux links (top-right of every page)
35+
aux_links:
36+
"GitHub":
37+
- "https://github.com/AutomateThePlanet/Spectra"
38+
"NuGet":
39+
- "https://www.nuget.org/packages/Spectra.CLI"
40+
41+
aux_links_new_tab: true
42+
43+
# "Edit this page" link
44+
gh_edit_repository: https://github.com/AutomateThePlanet/Spectra
45+
gh_edit_branch: main
46+
gh_edit_source: docs
47+
gh_edit_view_mode: edit
48+
49+
# Back to top link
50+
back_to_top: true
51+
back_to_top_text: "Back to top"
52+
53+
# Plugins
54+
plugins:
55+
- jekyll-seo-tag
56+
57+
# Exclude machine-generated files & build artifacts from the site
58+
exclude:
59+
- "criteria/"
60+
- "_index.md"
61+
- "_index.yaml"
62+
- "_index.json"
63+
- "**/*.criteria.yaml"
64+
- "_criteria_index.yaml"
65+
- "Gemfile"
66+
- "Gemfile.lock"
67+
- "vendor/"
68+
- "node_modules/"
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// =============================================================
2+
// SPECTRA color scheme for Just the Docs
3+
// Matches Automate The Planet brand identity
4+
// =============================================================
5+
6+
// --- ATP Brand Palette ---
7+
$spectra-teal: #00bcd4;
8+
$spectra-teal-light: #4dd0e1;
9+
$spectra-teal-dark: #0097a7;
10+
$spectra-navy: #16213e;
11+
$spectra-navy-light: #1a2744;
12+
$spectra-dark: #0f1628;
13+
$spectra-charcoal: #1a1a2e;
14+
$spectra-slate: #2c3e50;
15+
$spectra-ice: #e8f4f8;
16+
$spectra-white: #fafcfd;
17+
18+
// --- Sidebar / Navigation ---
19+
$sidebar-color: $spectra-navy;
20+
$nav-width: 280px;
21+
$nav-child-link-color: rgba(255, 255, 255, 0.75);
22+
$nav-link-color: rgba(255, 255, 255, 0.9);
23+
24+
// --- Body ---
25+
$body-background-color: $spectra-white;
26+
$body-text-color: #2d3748;
27+
$body-heading-color: $spectra-navy;
28+
29+
// --- Links ---
30+
$link-color: $spectra-teal-dark;
31+
32+
// --- Search ---
33+
$search-background-color: $spectra-ice;
34+
$search-result-preview-color: $body-text-color;
35+
36+
// --- Code ---
37+
$code-background-color: #f0f4f8;
38+
39+
// --- Buttons ---
40+
$btn-primary-color: $spectra-teal;
41+
42+
// --- Header / Top bar ---
43+
$header-color: $spectra-dark;
44+
$header-text-color: #ffffff;
45+
46+
// --- Borders ---
47+
$border-color: #e2e8f0;
48+
49+
// --- Active navigation item ---
50+
$nav-active-link-color: $spectra-teal-light;

docs/analysis/cli-vs-chat-generation.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
---
2+
title: CLI vs Chat Generation
3+
parent: Architecture
4+
nav_order: 2
5+
---
6+
17
# CLI vs Chat+MCP Test Generation: Comprehensive Analysis
28

39
A detailed comparison of Spectra's current CLI-based test generation pipeline (`spectra ai generate`) against a hypothetical Chat+MCP alternative where test generation is performed conversationally through the MCP server.

docs/architecture.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Architecture
3+
nav_order: 3
4+
has_children: true
5+
permalink: /architecture
6+
---
7+
8+
# Architecture
9+
10+
System design, key decisions, and architectural analysis of SPECTRA.

docs/architecture/overview.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
---
2+
title: Overview
3+
parent: Architecture
4+
nav_order: 1
5+
---
6+
17
# Architecture Overview
28

39
How SPECTRA's two subsystems work together.

0 commit comments

Comments
 (0)