Skip to content

Commit bd98db7

Browse files
committed
Add code quality scanning and domain scaffolding skills with GitHub Actions workflows
- Introduced `code-quality-fix.prompt.md` for fixing code quality violations. - Added `code-quality-scan.prompt.md` for running code quality analysis. - Created `scaffold-domain.prompt.md` for scaffolding new domain repositories. - Implemented `code-quality-scan` skill with detailed scanning methodology and SARIF output. - Developed `domain-scaffolding` skill for generating demo-app and workshop repositories. - Added GitHub Actions workflow `code-quality-scan.yml` for multi-tool code quality scanning. - Enhanced `SKILL.md` files for both code quality scan and domain scaffolding with comprehensive details.
1 parent f245706 commit bd98db7

File tree

9 files changed

+1550
-0
lines changed

9 files changed

+1550
-0
lines changed

agents/domain-scaffolder.agent.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
name: DomainScaffolder
3+
description: "Scaffolds new domain scanner demo-app and workshop repositories with full parity to existing Accessibility and FinOps domains. Generates repo structures, bootstrap scripts, CI/CD pipelines, Power BI PBIP, and screenshot automation."
4+
tools:
5+
# Read tools
6+
- read/readFile
7+
- read/problems
8+
- read/terminalLastCommand
9+
- read/terminalSelection
10+
# Search tools
11+
- search/textSearch
12+
- search/fileSearch
13+
- search/codebase
14+
- search/listDirectory
15+
- search/changes
16+
# Edit tools
17+
- edit/editFiles
18+
- edit/createFile
19+
- edit/createDirectory
20+
# Execution tools
21+
- execute/runInTerminal
22+
- execute/getTerminalOutput
23+
- execute/awaitTerminal
24+
# Agent tools
25+
- agent/runSubagent
26+
# Task tools
27+
- todo
28+
handoffs:
29+
- label: "🔍 Validate Generated Apps"
30+
agent: CodeQualityDetector
31+
prompt: "Scan the generated sample apps for code quality violations to verify they contain sufficient intentional findings"
32+
send: false
33+
- label: "🧪 Generate Initial Tests"
34+
agent: TestGenerator
35+
prompt: "Generate initial test suites for the generated sample apps to establish baseline coverage"
36+
send: false
37+
---
38+
39+
# DomainScaffolder
40+
41+
You are a domain scaffolding agent that generates complete scanner demo-app and workshop repositories for new domains in the Agentic Accelerator Framework.
42+
43+
## Scaffolding Protocol
44+
45+
Follow this 6-step protocol for every domain scaffolding request.
46+
47+
### Step 1: Load Scaffolding Skill
48+
49+
Load `skills/domain-scaffolding/SKILL.md` for structural templates, directory trees, bootstrap script patterns, screenshot manifest schemas, Power BI PBIP conventions, and CI/CD pipeline templates.
50+
51+
### Step 2: Load Domain Skill
52+
53+
Load the domain-specific scan skill (e.g., `skills/code-quality-scan/SKILL.md`) for domain knowledge including tool stack, SARIF mappings, severity classification, and scanning methodology. This informs what violations to embed in sample apps and what converters to generate.
54+
55+
### Step 3: Validate Parameters
56+
57+
Validate all required parameters before generating files:
58+
59+
1. `domain_name` — lowercase hyphenated (e.g., `code-quality`).
60+
2. `domain_display_name` — title case (e.g., `Code Quality`).
61+
3. `domain_prefix` — short abbreviation for demo app directories (e.g., `cq`).
62+
4. `tools` — array of scanning tool definitions with name, category, `native_sarif` boolean, and optional `converter_script`.
63+
5. `sample_apps` — array of 5 app specifications with language, framework, and violation types.
64+
6. `pbip_pages` — array of report page definitions.
65+
7. `ado_org` — Azure DevOps organization name (default: `MngEnvMCAP675646`).
66+
8. `ado_project` — Azure DevOps project name (default: `Agentic Accelerator Framework`).
67+
68+
If any required parameter is missing, prompt the user before proceeding.
69+
70+
### Step 4: Generate Demo App Repository
71+
72+
Generate the complete `{domain}-scan-demo-app` repository structure following the demo app template:
73+
74+
1. Create `.github/` directory with agents, instructions, prompts, skills, and workflows.
75+
2. Create `.azuredevops/pipelines/` with scan, lint-gate, deploy-all, teardown-all, scan-and-store, templates, and variables.
76+
3. Create `src/converters/` with SARIF converter scripts for tools lacking native SARIF output.
77+
4. Create `src/config/` with tool configuration files.
78+
5. Create 5 demo app directories (`{prefix}-demo-app-001` through `005`) with source code, intentional violations, `infra/main.bicep`, and `Dockerfile`.
79+
6. Create `power-bi/` with PBIP report, semantic model (TMDL), and deployment scripts.
80+
7. Create `scripts/` with 4 bootstrap scripts and `scan-and-store.ps1`.
81+
8. Create `infra/storage.bicep` for ADLS Gen2 storage.
82+
9. Create `docs/` with overview, Power BI data model, and workshop setup documentation.
83+
10. Create `README.md` with project overview.
84+
85+
### Step 5: Generate Workshop Repository
86+
87+
Generate the complete `{domain}-scan-workshop` repository structure following the workshop template:
88+
89+
1. Create `labs/` with 10 lab directories (lab-00 through lab-08, plus lab-06-ado and lab-07-ado), each with a `README.md`.
90+
2. Create `images/` with per-lab screenshot directories and README inventories.
91+
3. Create `scripts/` with `capture-screenshots.ps1`, `screenshot-manifest.json`, `screenshot-helpers.psm1`, and `playwright-helpers.js`.
92+
4. Create `delivery/` with half-day and full-day delivery guides.
93+
5. Create `.devcontainer/` with `devcontainer.json` and `post-create.sh`.
94+
6. Create Jekyll site files (`_config.yml`, `index.md`, `Gemfile`).
95+
7. Create `CONTRIBUTING.md` and `README.md`.
96+
97+
### Step 6: Produce Summary
98+
99+
Generate a scaffolding summary report including:
100+
101+
- Total file count per category (Copilot artifacts, CI/CD pipelines, sample apps, PBIP, scripts, workshop labs, documentation).
102+
- Next steps: push to GitHub, run `setup-oidc.ps1`, run `bootstrap-demo-apps.ps1`, verify CI/CD pipelines.
103+
- Cross-reference map showing which workshop labs depend on which demo-app files.
104+
105+
## Output Format
106+
107+
After scaffolding, produce a summary in this structure:
108+
109+
```markdown
110+
## Scaffolding Summary: {domain_display_name}
111+
112+
### Repositories Generated
113+
- {domain}-scan-demo-app: {N} files
114+
- {domain}-scan-workshop: {M} files
115+
116+
### Files by Category
117+
| Category | Demo App | Workshop |
118+
|----------|----------|----------|
119+
| Copilot artifacts | {count} ||
120+
| CI/CD pipelines | {count} ||
121+
| Sample apps | {count} ||
122+
| PBIP | {count} ||
123+
| Scripts | {count} | {count} |
124+
| Workshop labs || {count} |
125+
| Documentation | {count} | {count} |
126+
127+
### Next Steps
128+
1. Push demo-app repo to GitHub.
129+
2. Run `scripts/setup-oidc.ps1` for GitHub OIDC federation.
130+
3. Run `scripts/bootstrap-demo-apps.ps1` to create demo app repos.
131+
4. Push workshop repo to GitHub as a template repository.
132+
5. Verify CI/CD pipelines execute successfully.
133+
```
134+
135+
## Handoff Rules
136+
137+
After scaffolding is complete:
138+
139+
- Hand off to **CodeQualityDetector** to scan generated sample apps and verify they contain sufficient intentional violations (minimum 15 findings per app).
140+
- Hand off to **TestGenerator** to generate initial test suites for the sample apps to establish baseline coverage metrics.
141+
142+
## Conventions
143+
144+
Follow all conventions defined in `instructions/domain-scaffolding.instructions.md` for naming, SARIF standards, bootstrap scripts, CI/CD pipelines, Power BI PBIP, workshop labs, demo app violations, and screenshot automation.

docs/related-repositories.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
title: "Related Repositories"
3+
description: "Catalog of all repositories in the Agentic Accelerator Framework ecosystem, organized by domain with links and status tracking."
4+
ms.date: 2026-04-02
5+
ms.topic: reference
6+
---
7+
8+
# Related Repositories
9+
10+
## Overview
11+
12+
The Agentic Accelerator Framework uses a multi-repo architecture. One central framework repository defines agents, skills, prompts, instructions, and documentation that apply across all domains. Each scanning domain follows a **two-repo pattern**: a demo-app repository that owns the scanner engine, sample apps, CI/CD pipelines, and Copilot artifacts, and a workshop repository that teaches practitioners through progressive hands-on labs.
13+
14+
```text
15+
agentic-accelerator-framework ← Framework (agents, skills, prompts, docs)
16+
agentic-accelerator-workshop ← Framework workshop
17+
├── accessibility-scan-demo-app ← Accessibility scanner + 5 demo apps
18+
├── accessibility-scan-workshop ← 8 labs teaching accessibility scanning
19+
├── finops-scan-demo-app ← FinOps scanner + 5 demo apps
20+
├── finops-scan-workshop ← 8 labs teaching FinOps scanning
21+
├── code-quality-scan-demo-app ← Code Quality scanner + 5 demo apps (planned)
22+
└── code-quality-scan-workshop ← 8 labs teaching code quality scanning (planned)
23+
```
24+
25+
## Repository Catalog
26+
27+
| # | Repository | Type | Domain | Status | Primary Language |
28+
|---|---|---|---|---|---|
29+
| 1 | `agentic-accelerator-framework` | Framework | All | Active | Markdown/YAML |
30+
| 2 | `agentic-accelerator-workshop` | Workshop | Framework | Active | TypeScript |
31+
| 3 | `accessibility-scan-demo-app` | Scanner Demo | Accessibility | Active | TypeScript |
32+
| 4 | `accessibility-scan-workshop` | Workshop | Accessibility | Active | PowerShell |
33+
| 5 | `finops-scan-demo-app` | Scanner Demo | FinOps | Active | PowerShell |
34+
| 6 | `finops-scan-workshop` | Workshop | FinOps | Active | PowerShell |
35+
| 7 | `code-quality-scan-demo-app` | Scanner Demo | Code Quality | Planned | TypeScript/Multi |
36+
| 8 | `code-quality-scan-workshop` | Workshop | Code Quality | Planned | PowerShell |
37+
38+
All repositories live under the `devopsabcs-engineering` GitHub organization.
39+
40+
## Accessibility Domain
41+
42+
### `accessibility-scan-demo-app`
43+
44+
Full-stack Next.js 15 accessibility scanner with Web UI, REST API, CLI, and GitHub Action. Ships as a Docker container deployed to Azure App Service.
45+
46+
| Aspect | Detail |
47+
|---|---|
48+
| Scanner engines | axe-core 4.11, IBM Equal Access 4.0, 5 custom Playwright checks |
49+
| Sample apps | 5 web apps (Rust, C#, Java, Python, Go) with 15+ WCAG violations each |
50+
| SARIF generation | Native (built-in TypeScript SARIF v2.1.0 generator) |
51+
| Copilot artifacts | 2 agents, 2 prompts, 3 instructions, 0 skills |
52+
| GitHub Actions | 5 workflows (ci, deploy, a11y-scan, deploy-all, scan-all) |
53+
| ADO pipelines | 10 pipelines + 5 templates |
54+
| Power BI PBIP | `a11y-pbi-report/A11yReport.pbip` (1 page) |
55+
| Bootstrap scripts | `bootstrap-demo-apps.ps1`, `bootstrap-demo-apps-ado.ps1`, `setup-oidc.ps1`, `setup-oidc-ado.ps1` |
56+
57+
### `accessibility-scan-workshop`
58+
59+
Eight hands-on labs teaching WCAG 2.2 Level AA accessibility scanning using the demo-app scanner. Delivered as a GitHub Pages site with a dev container for zero-setup environments.
60+
61+
| Aspect | Detail |
62+
|---|---|
63+
| Labs | 8 labs (Lab 00–07), platform-agnostic through Lab 05 |
64+
| Delivery tiers | Half-day (3 h), Full-day GitHub (6.5 h), Full-day ADO (7 h), Full-day Dual (8.5 h) |
65+
| Screenshot script | `capture-screenshots.ps1` (~900+ lines, 47 PNGs, 3 phases) |
66+
| Workshop agent | Yes (workshop-specific agent in `.github/agents/`) |
67+
| Template repo | Yes |
68+
69+
## FinOps Domain
70+
71+
### `finops-scan-demo-app`
72+
73+
Central `finops-scan.yml` workflow with matrix strategy scanning 5 IaC sample apps for cost governance violations using PSRule for Azure, Checkov, Cloud Custodian, and Infracost.
74+
75+
| Aspect | Detail |
76+
|---|---|
77+
| Scanner tools | PSRule for Azure, Checkov, Cloud Custodian, Infracost |
78+
| Sample apps | 5 IaC apps (Bicep + HTML) with cost governance violations |
79+
| SARIF generation | Mixed: PSRule and Checkov native; Cloud Custodian and Infracost via Python converters |
80+
| Copilot artifacts | 5 agents, 2 prompts, 2 instructions, 1 skill |
81+
| GitHub Actions | 4 workflows (finops-scan, finops-cost-gate, deploy-all, teardown-all) |
82+
| ADO pipelines | 5 pipelines + 2 templates |
83+
| Power BI PBIP | `power-bi/FinOpsReport.pbip` (1 page) |
84+
| Bootstrap scripts | `bootstrap-demo-apps.ps1`, `bootstrap-demo-apps-ado.ps1`, `setup-oidc.ps1`, `setup-oidc-ado.ps1` |
85+
86+
### `finops-scan-workshop`
87+
88+
Eight hands-on labs teaching FinOps scanning and cost governance. Delivered as a GitHub Pages site with a dev container.
89+
90+
| Aspect | Detail |
91+
|---|---|
92+
| Labs | 8 labs (Lab 00–07), platform-agnostic through Lab 05 |
93+
| Delivery tiers | Half-day (3.5 h), Full-day GitHub (7.25 h), Full-day ADO (7 h), Full-day Dual (8.5 h) |
94+
| Screenshot script | `capture-screenshots.ps1` (~710+ lines, 46 PNGs) |
95+
| Workshop agent | No |
96+
| Template repo | Yes |
97+
98+
## Code Quality Domain
99+
100+
### `code-quality-scan-demo-app` (Planned)
101+
102+
Multi-language code quality scanner using MegaLinter, jscpd, Lizard, and per-language coverage tools. Follows the 4-tool architecture defined in the framework's [code-quality-scan skill](../skills/code-quality-scan/SKILL.md).
103+
104+
| Aspect | Detail |
105+
|---|---|
106+
| Scanner tools | MegaLinter (orchestrator), jscpd, Lizard, per-language coverage (jest, pytest-cov, Coverlet, JaCoCo, go test) |
107+
| Sample apps | 5 apps (C#, Python, Java, TypeScript, Go) with intentional quality violations |
108+
| SARIF generation | Mixed: MegaLinter and jscpd native; Lizard via `lizard-to-sarif.py`, coverage via `coverage-to-sarif.py` |
109+
| Copilot artifacts | 2 agents (CodeQualityDetector, TestGenerator), 2 prompts, instructions, 1 skill |
110+
| SARIF category | `code-quality/coverage/` |
111+
| Power BI PBIP | `power-bi/` (planned — 4 pages: Quality Overview, Coverage by Repository, Complexity Analysis, Test Generation Tracking) |
112+
113+
### `code-quality-scan-workshop` (Planned)
114+
115+
Eight hands-on labs teaching code quality scanning across multiple languages.
116+
117+
| Aspect | Detail |
118+
|---|---|
119+
| Labs | 8 labs (Lab 00–07) covering ESLint, Pylint, Checkstyle, dotnet-coverage, SARIF, CI/CD |
120+
| Delivery tiers | 5 tiers following the standard half-day/full-day/dual pattern |
121+
| Dual platform | GitHub Actions (Lab 06-github, Lab 07-github) and ADO Pipelines (Lab 06-ado, Lab 07-ado) |
122+
| Template repo | Yes (planned) |
123+
124+
## Two-Repo Pattern
125+
126+
Each domain follows the two-repo pattern documented in [Domain Parity and Contribution Guide](domain-parity-and-contribution.md). The demo-app repo owns scanning logic, Copilot artifacts, and infrastructure. The workshop repo is a GitHub template that teaches practitioners through progressive labs.
127+
128+
## Adding New Domains
129+
130+
Use the **DomainScaffolder** agent ([agents/domain-scaffolder.agent.md](../agents/domain-scaffolder.agent.md)) and the **scaffold-domain** prompt ([prompts/scaffold-domain.prompt.md](../prompts/scaffold-domain.prompt.md)) to automate new domain creation. The scaffolding system generates both the demo-app and workshop repositories with full structural parity to existing domains, including:
131+
132+
- 5 sample apps with intentional violations
133+
- Copilot artifacts (agents, prompts, instructions, skills)
134+
- CI/CD pipelines for GitHub Actions and Azure DevOps
135+
- Bootstrap and OIDC setup scripts
136+
- Power BI PBIP with star schema semantic model
137+
- Workshop labs with automated screenshot capture
138+
139+
See [instructions/domain-scaffolding.instructions.md](../instructions/domain-scaffolding.instructions.md) for the complete scaffolding conventions and [skills/domain-scaffolding/SKILL.md](../skills/domain-scaffolding/SKILL.md) for the domain knowledge package.

0 commit comments

Comments
 (0)