Skip to content

Commit 53acd8e

Browse files
committed
initial commit
0 parents  commit 53acd8e

306 files changed

Lines changed: 100135 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
<!-- markdownlint-disable-file -->
2+
# Release Changes: Agentic DevSecOps Framework
3+
4+
**Related Plan**: agentic-devsecops-framework-plan.instructions.md
5+
**Implementation Date**: 2026-03-17
6+
7+
## Summary
8+
9+
Build a comprehensive Agentic DevSecOps Framework repository structured for `.github-private` org-wide deployment, leveraging custom GitHub Copilot agents, GitHub Advanced Security, and Microsoft Defender for Cloud across security, accessibility, code quality, and FinOps domains with SARIF-based CI/CD integration.
10+
11+
## Changes
12+
13+
### Added
14+
15+
* `README.md` - Repository overview with architecture diagram and domain descriptions
16+
* `LICENSE` - MIT license
17+
* `.gitignore` - Python, Node.js, IDE, coverage, SARIF ignore patterns
18+
* `.github/copilot-instructions.md` - Repo-wide GHCP agent conventions (SARIF, severity, output format)
19+
* `.github/CODEOWNERS` - Security governance for agent config paths
20+
* `mcp.json` - MCP server configuration for ADO work items
21+
* `apm.yml` - Agent Package Manager manifest declaring all agent dependencies
22+
* `agents/security-agent.agent.md` - Holistic security orchestrator (AB#2047)
23+
* `agents/security-reviewer-agent.agent.md` - OWASP Top 10 vulnerability detection (AB#2048)
24+
* `agents/security-plan-creator.agent.md` - Cloud security plan from IaC (AB#2049)
25+
* `agents/pipeline-security-agent.agent.md` - CI/CD pipeline hardening (AB#2050)
26+
* `agents/iac-security-agent.agent.md` - Terraform/Bicep/K8s scanning (AB#2051)
27+
* `agents/supply-chain-security-agent.agent.md` - Secrets, dependencies, SBOM (AB#2052)
28+
* `agents/a11y-detector.agent.md` - WCAG 2.2 compliance detector (AB#2054)
29+
* `agents/a11y-resolver.agent.md` - Accessibility fix agent (AB#2055)
30+
* `agents/code-quality-detector.agent.md` - Coverage analysis, lint, complexity (AB#2060)
31+
* `agents/test-generator.agent.md` - Auto-generate tests for uncovered code (AB#2061)
32+
* `agents/cost-analysis-agent.agent.md` - Azure cost queries and reporting (AB#2063)
33+
* `agents/finops-governance-agent.agent.md` - Tag compliance monitoring (AB#2064)
34+
* `agents/cost-anomaly-detector.agent.md` - Cost anomaly detection (AB#2065)
35+
* `agents/cost-optimizer-agent.agent.md` - Azure Advisor recommendations (AB#2066)
36+
* `agents/deployment-cost-gate-agent.agent.md` - Deployment budget gating (AB#2067)
37+
* `instructions/wcag22-rules.instructions.md` - Auto-applied WCAG 2.2 rules (AB#2056)
38+
* `instructions/a11y-remediation.instructions.md` - A11y remediation patterns (AB#2057)
39+
* `instructions/code-quality.instructions.md` - Coverage thresholds and testing patterns (AB#2062)
40+
* `prompts/a11y-scan.prompt.md` - Accessibility scan prompt (AB#2058)
41+
* `prompts/a11y-fix.prompt.md` - Accessibility fix prompt (AB#2058)
42+
* `skills/a11y-scan/SKILL.md` - Accessibility scanning domain knowledge (AB#2053)
43+
* `skills/security-scan/SKILL.md` - Security scanning domain knowledge (AB#2059)
44+
* `docs/architecture.md` - Framework architecture with Mermaid diagrams (AB#2042)
45+
* `docs/agent-patterns.md` - Agent file specification and deployment model (AB#2043)
46+
* `docs/sarif-integration.md` - SARIF v2.1.0 mapping for all domains (AB#2044)
47+
* `docs/platform-comparison.md` - GitHub vs Azure DevOps feature matrix (AB#2045)
48+
* `docs/implementation-roadmap.md` - 5-phase rollout plan (AB#2046)
49+
* `docs/prompt-file-security.md` - Threat model and APM controls (AB#2069)
50+
* `docs/azure-devops-pipelines.md` - ADO pipeline equivalents documentation (AB#2075)
51+
* `docs/agent-extensibility.md` - Plugin model and org-scale sharing (AB#2076)
52+
* `docs/centralized-governance.md` - Security Overview, MDC, Defender for DevOps (AB#2077)
53+
* `.github/workflows/security-scan.yml` - SAST + SCA + IaC + secrets + DAST pipeline (AB#2070)
54+
* `.github/workflows/accessibility-scan.yml` - Three-engine a11y scanner (AB#2071)
55+
* `.github/workflows/code-quality.yml` - Coverage enforcement with SARIF (AB#2072)
56+
* `.github/workflows/apm-security.yml` - APM audit on PRs (AB#2073)
57+
* `.github/workflows/finops-cost-gate.yml` - IaC cost estimation gate (AB#2074)
58+
* `samples/azure-devops/security-pipeline.yml` - ADO security pipeline sample (AB#2075)
59+
* `samples/azure-devops/accessibility-pipeline.yml` - ADO accessibility pipeline sample (AB#2075)
60+
* `samples/azure-devops/quality-pipeline.yml` - ADO quality pipeline sample (AB#2075)
61+
* `sample-app/package.json` - Next.js project with intentional issues (AB#2078)
62+
* `sample-app/tsconfig.json` - TypeScript configuration (AB#2078)
63+
* `sample-app/next.config.js` - Next.js configuration (AB#2078)
64+
* `sample-app/tailwind.config.ts` - Tailwind CSS configuration (AB#2078)
65+
* `sample-app/postcss.config.js` - PostCSS configuration (AB#2078)
66+
* `sample-app/src/app/layout.tsx` - Root layout with missing lang attribute (AB#2080)
67+
* `sample-app/src/app/page.tsx` - Home page with low contrast, missing labels (AB#2080)
68+
* `sample-app/src/app/globals.css` - Tailwind CSS imports (AB#2078)
69+
* `sample-app/src/app/products/page.tsx` - Product listing with missing alt text (AB#2080)
70+
* `sample-app/src/app/products/[id]/page.tsx` - Product detail with SQL injection (AB#2079)
71+
* `sample-app/src/lib/db.ts` - Database module with hardcoded secrets (AB#2079)
72+
* `sample-app/src/lib/auth.ts` - Auth module with weak crypto (AB#2079)
73+
* `sample-app/src/lib/utils.ts` - Utility functions with high complexity (AB#2081)
74+
* `sample-app/src/components/Header.tsx` - Header with broken heading hierarchy (AB#2080)
75+
* `sample-app/src/components/ProductCard.tsx` - Product card with XSS (AB#2079)
76+
* `sample-app/infra/main.bicep` - IaC with missing tags and security issues (AB#2082)
77+
* `sample-app/infra/variables.bicep` - Oversized SKU parameters (AB#2082)
78+
* `sample-app/__tests__/placeholder.test.ts` - Minimal test file (AB#2081)
79+
* `sample-app/README.md` - Testing guide documenting all intentional issues (AB#2083)
80+
81+
### Modified
82+
83+
* `.gitignore` - Added exception for `sample-app/src/lib/` path
84+
85+
### Removed
86+
87+
* `sample-app/.gitkeep` - Replaced by actual sample application files
88+
* `samples/azure-devops/.gitkeep` - Replaced by actual pipeline samples
89+
90+
## Additional or Deviating Changes
91+
92+
* `.gitignore` had a `lib/` pattern that excluded `sample-app/src/lib/`; added `!sample-app/src/lib/` exception
93+
94+
## Release Summary
95+
96+
All 11 implementation phases completed across 60+ files:
97+
98+
* **15 agent files** in `agents/` with valid YAML frontmatter (all under 10K chars)
99+
* **3 instruction files** in `instructions/` with correct applyTo patterns
100+
* **2 prompt files** in `prompts/` delegating to a11y agents
101+
* **2 skill files** in `skills/` for security and accessibility domains
102+
* **8 documentation files** in `docs/` covering architecture, patterns, SARIF, platform comparison, roadmap, security, extensibility, and governance
103+
* **5 GitHub Actions workflows** in `.github/workflows/` with distinct SARIF categories
104+
* **3 ADO pipeline samples** in `samples/azure-devops/`
105+
* **1 apm.yml** manifest declaring all agent dependencies
106+
* **1 mcp.json** for ADO work items MCP server
107+
* **18 sample-app files** with intentional issues across security (15), accessibility (7), code quality (5), and FinOps (10) domains
108+
* All validation checks passed: YAML frontmatter, glob patterns, link integrity, SARIF uniqueness, Unicode safety, mcp.json validity
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<!-- markdownlint-disable-file -->
2+
# Release Changes: CI/CD Automation for Agent Testing & Deployment
3+
4+
**Related Plan**: ci-cd-agent-testing-plan.instructions.md
5+
**Implementation Date**: 2026-03-17
6+
7+
## Summary
8+
9+
Implements full CI/CD automation for agent testing and deployment: fixes 3 broken existing workflows, configures sample-app test infrastructure, creates an agent validation script (structural + cross-reference + domain checks), builds a CI workflow with 4 jobs covering all 15 agents across 4 domains, and adds a CD workflow deploying 25 files to `.github-private` with SHA-256 integrity verification.
10+
11+
## Changes
12+
13+
### Added
14+
15+
* `sample-app/package-lock.json` — Generated lockfile for `npm ci` in CI workflows
16+
* `sample-app/jest.config.ts` — Jest configuration with jsdom environment, `@/` alias mapping, coverage reporters
17+
* `sample-app/.eslintrc.json` — ESLint config extending `next/core-web-vitals` for `next lint` in CI
18+
* `scripts/validate-agents.mjs` — Agent validation script: Tier 1 structural, Tier 2 cross-reference, Tier 4 domain content checks with SARIF + JSON + Job Summary output (749 lines)
19+
* `scripts/package.json` — Dependencies for validation script (gray-matter, minimatch)
20+
* `scripts/package-lock.json` — Lockfile for validation script dependencies
21+
* `.github/workflows/ci-full-test.yml` — CI workflow with 4 jobs: agent-validation, apm-security, sample-app-quality, summary; triggers on push/PR to main
22+
* `.github/workflows/deploy-to-github-private.yml` — CD workflow with deploy + verify jobs; syncs 25 files to .github-private with SHA-256 integrity verification
23+
24+
### Modified
25+
26+
* `.github/workflows/security-scan.yml` — Replaced invalid job-level `hashFiles()` on container job with step-level Dockerfile existence check; gated Build, Trivy scan, and SARIF upload steps
27+
* `.github/workflows/finops-cost-gate.yml` — Removed redundant job-level `hashFiles()` check; workflow-level `paths:` filter provides equivalent gating
28+
* `.github/workflows/code-quality.yml` — Added `defaults.run.working-directory: sample-app` to lint, type-check, and test jobs; added `cache-dependency-path` for npm cache
29+
* `sample-app/package.json` — Added `eslint`, `eslint-config-next`, `@types/jest`, `ts-node` to devDependencies (required for CI commands)
30+
* `.gitignore` — Added `validation-results.json` and `validation-results.sarif` to ignore; un-ignored `scripts/package-lock.json`
31+
32+
### Removed
33+
34+
## Additional or Deviating Changes
35+
36+
* Security domain keyword check in `validate-agents.mjs` broadened beyond OWASP/CWE to also accept CIS, NIST, and OpenSSF references
37+
* 3 security agents (IaCSecurityAgent, PipelineSecurityAgent, SecurityPlanCreator) use CIS Azure benchmarks, NIST 800-53, and OpenSSF standards — agent files are the source of truth
38+
* `sample-app/package.json` required 4 additional devDependencies not in the original plan: `eslint`, `eslint-config-next`, `@types/jest`, `ts-node`
39+
* These were infrastructure gaps discovered during Phase 2 validation — all required for CI commands to succeed
40+
* Deployment tagging step (tagging source repo with `deploy/github-private/YYYYMMDD-HHMMSS-{run_number}`) deferred to follow-on work
41+
* The CD workflow commits and pushes to `.github-private` but does not tag the source repo
42+
43+
## Release Summary
44+
45+
Total files affected: 15 (8 added, 6 modified, 0 removed)
46+
47+
Files created:
48+
* `sample-app/package-lock.json` — Lockfile enabling `npm ci` in CI
49+
* `sample-app/jest.config.ts` — Jest configuration for sample-app testing
50+
* `sample-app/.eslintrc.json` — ESLint configuration for `next lint`
51+
* `scripts/validate-agents.mjs` — Agent validation script (749 lines, Tier 1+2+4)
52+
* `scripts/package.json` — Validation script dependencies
53+
* `scripts/package-lock.json` — Validation script lockfile
54+
* `.github/workflows/ci-full-test.yml` — CI workflow (4 jobs, triggers on push/PR to main)
55+
* `.github/workflows/deploy-to-github-private.yml` — CD workflow (2 jobs, syncs 25 files with SHA-256 verification)
56+
57+
Files modified:
58+
* `.github/workflows/security-scan.yml` — Fixed invalid `hashFiles()` at job level
59+
* `.github/workflows/finops-cost-gate.yml` — Removed redundant `hashFiles()` check
60+
* `.github/workflows/code-quality.yml` — Added working directory for sample-app
61+
* `sample-app/package.json` — Added 4 missing devDependencies
62+
* `.gitignore` — Updated ignore patterns for validation outputs
63+
* `.copilot-tracking/` — Planning and tracking artifacts updated
64+
65+
Dependency changes:
66+
* `gray-matter` ^4.0.3 and `minimatch` ^9.0.0 added to `scripts/package.json`
67+
* `eslint` ^8.57.0, `eslint-config-next` ^14.2.0, `@types/jest` ^29.5.0, `ts-node` ^10.9.0 added to `sample-app/package.json`
68+
69+
Deployment prerequisites (not in this change):
70+
* GitHub App with `contents: write` on `devopsabcs-engineering/.github-private`
71+
* Secrets `DEPLOY_APP_ID` and `DEPLOY_APP_PRIVATE_KEY` in source repo settings
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<!-- markdownlint-disable-file -->
2+
# Release Changes: Agentic DevSecOps Workshop
3+
4+
**Related Plan**: agentic-devsecops-workshop-plan.instructions.md
5+
**Implementation Date**: 2026-03-18
6+
7+
## Summary
8+
9+
Build a complete hands-on workshop repository with 12 progressive labs teaching developers to use AI-powered DevSecOps agents from the Agentic DevSecOps Framework.
10+
11+
## Changes
12+
13+
### Added
14+
15+
* `README.md` — Workshop main entry point with 12-lab checklist, delivery tiers, Mermaid dependency diagram
16+
* `LICENSE` — MIT License
17+
* `CODE_OF_CONDUCT.md` — Microsoft Open Source Code of Conduct
18+
* `CONTRIBUTING.md` — Workshop contribution guidelines
19+
* `_config.yml` — Jekyll theme config for GitHub Pages
20+
* `.gitignore` — Node.js, Next.js, coverage exclusions
21+
* `.github/copilot-instructions.md` — Workshop-specific Copilot instructions
22+
* `.github/workflows/security-scan.yml` — Security scanning workflow from framework
23+
* `.github/workflows/accessibility-scan.yml` — Accessibility scanning workflow from framework
24+
* `.github/workflows/code-quality.yml` — Code quality workflow from framework
25+
* `.github/workflows/finops-cost-gate.yml` — FinOps cost gate workflow from framework
26+
* `.devcontainer/devcontainer.json` — Codespaces config with Node.js 20, required extensions
27+
* `agents/` — 15 agent definitions copied from framework (security, a11y, code quality, FinOps)
28+
* `instructions/` — 3 instruction files copied from framework
29+
* `prompts/` — 2 prompt template files copied from framework
30+
* `skills/a11y-scan/SKILL.md` — Accessibility scan skill package
31+
* `skills/security-scan/SKILL.md` — Security scan skill package
32+
* `sample-app/` — Full Next.js 14 app with 40+ intentional vulnerabilities
33+
* `apm.yml` — Agent Policy Manager configuration
34+
* `validation-results.sarif` — SARIF output file for Lab 06 walkthrough
35+
* `images/lab-00/` through `images/lab-11/` — 12 screenshot directories with .gitkeep and README placeholders
36+
* `labs/lab-00-setup.md` — Lab 00: Prerequisites and Environment Setup (30 min, Beginner)
37+
* `labs/lab-01.md` — Lab 01: Explore the Sample App (25 min, Beginner)
38+
* `labs/lab-02.md` — Lab 02: Understanding Agents, Skills, and Instructions (20 min, Beginner)
39+
* `labs/lab-03.md` — Lab 03: Security Scanning with Copilot Agents (40 min, Intermediate)
40+
* `labs/lab-04.md` — Lab 04: Accessibility Scanning with Copilot Agents (35 min, Intermediate)
41+
* `labs/lab-05.md` — Lab 05: Code Quality Analysis with Copilot Agents (35 min, Intermediate)
42+
* `labs/lab-06.md` — Lab 06: Understanding SARIF Output (30 min, Intermediate)
43+
* `labs/lab-07.md` — Lab 07: Setting Up GitHub Actions Pipelines (40 min, Intermediate)
44+
* `labs/lab-08.md` — Lab 08: Viewing Results in GitHub Security Tab (25 min, Intermediate)
45+
* `labs/lab-09.md` — Lab 09: FinOps Agents and Azure Cost Governance (45 min, Advanced, Optional)
46+
* `labs/lab-10.md` — Lab 10: Agent Remediation Workflows (45 min, Advanced)
47+
* `labs/lab-11.md` — Lab 11: Creating Your Own Custom Agent (45 min, Advanced)
48+
49+
### Modified
50+
51+
### Removed
52+
53+
* `sample-app/coverage/` — Removed build artifact from framework copy (students generate their own)
54+
55+
## Additional or Deviating Changes
56+
57+
* Phase 1 initial commit pushed directly to `main` instead of via PR because the repository was empty (no main branch existed)
58+
* Reason: GitHub cannot create a PR without a base branch
59+
* Repository marked as GitHub Template via `gh repo edit --template`
60+
* Default branch set to `main` via `gh repo edit --default-branch main`
61+
* `apm.yml` and `validation-results.sarif` were not copied in Phase 1 subagent execution; added in Phase 4 commit
62+
* Reason: Phase 1 subagent copied directory-level assets but missed root-level individual files
63+
64+
## Release Summary
65+
66+
Total files affected: 76 files created across 6 phases in 5 PRs
67+
68+
**Files created:**
69+
* 12 lab files in `labs/`
70+
* 15 agent definitions in `agents/`
71+
* 3 instruction files in `instructions/`
72+
* 2 prompt files in `prompts/`
73+
* 2 skill packages in `skills/`
74+
* 4 GitHub Actions workflows in `.github/workflows/`
75+
* 12 image directories with README placeholders
76+
* 1 devcontainer config
77+
* 1 copilot instructions file
78+
* ~20 sample-app source files
79+
* 6 community/config files (README, LICENSE, CODE_OF_CONDUCT, CONTRIBUTING, _config.yml, .gitignore)
80+
* 2 framework assets (apm.yml, validation-results.sarif)
81+
82+
**ADO Work Items:** Epic #2094 → Feature #2095 → User Stories #2096, #2097, #2098, #2099, #2100, #2101
83+
84+
**GitHub PRs:** #1 (foundation labs), #2 (scanning labs), #3 (CI/CD labs), #4 (advanced labs), #5 (config/polish)
85+
86+
**Repository Configuration:** Template repository enabled, default branch set to `main`
87+
88+
**Deployment notes:** GitHub Pages can be enabled via Settings → Pages → main/root. The _config.yml is ready for minima theme.

0 commit comments

Comments
 (0)