Skip to content

Replace CodeGlyphX website with PowerForge.Web#73

Merged
PrzemyslawKlys merged 14 commits intomasterfrom
codeglyphx/website
Feb 5, 2026
Merged

Replace CodeGlyphX website with PowerForge.Web#73
PrzemyslawKlys merged 14 commits intomasterfrom
codeglyphx/website

Conversation

@PrzemyslawKlys
Copy link
Member

Summary

  • Add PowerForge.Web website under Website/ and route API docs to /api
  • Remove generated api outputs from CodeGlyphX.Website/wwwroot and ignore them
  • Remove legacy website build scripts and update website docs

Testing

  • Website/build.ps1 (audit ok)

Copilot AI review requested due to automatic review settings February 4, 2026 16:24
@claude
Copy link

claude bot commented Feb 4, 2026

Claude finished @PrzemyslawKlys's task —— View job


Code Review Complete ✅

I've completed a comprehensive review of the PowerForge.Web migration. This is a substantial infrastructure change that replaces the legacy website system with a modern build pipeline.

Review Checklist:

  • Analyze new PowerForge.Web structure and architecture
  • Investigate SonarQube duplication failure (3.8% > 3% threshold)
  • Review FAQ/Showcase JSON availability issue (from review comments)
  • Check API routing changes and potential breaking changes
  • Assess security implications of infrastructure change
  • Evaluate performance considerations
  • Review test coverage impact
  • Provide comprehensive feedback and recommendations

🎯 Summary

Overall Assessment: This is a well-executed infrastructure modernization. The migration from legacy build scripts to PowerForge.Web significantly simplifies the build pipeline and improves maintainability.

✅ Strengths

  1. Architecture Improvements:

    • Clean separation of concerns with Website/ containing all website assets
    • Pipeline-based build system replacing 14 complex PowerShell scripts
    • Unified API documentation generation at /api route
    • Cross-platform build script (Website/build.ps1) with OS-agnostic executable detection
  2. Security & Best Practices:

    • Proper exclusion of generated content from SonarCloud analysis
    • No hardcoded secrets or sensitive data exposed
    • Maintained secure CI/CD practices with appropriate permissions
  3. Performance Considerations:

    • Static site generation for better performance
    • Bundled assets (CSS/JS) with proper caching strategies
    • Font preloading and critical CSS optimization

⚠️ Issues Found

🔴 Critical: FAQ/Showcase JSON Availability

Location: Website/pipeline.json:32-36 vs CodeGlyphX.Website/Pages/Faq.razor:64 and Showcase.razor:169

The PowerForge.Web pipeline copies Website/static/api to _site/playground/api, which correctly addresses the review comment concern. The Blazor playground app requests:

  • api/faq.json (✅ copied from Website/static/api/faq.json)
  • api/showcase.json (✅ copied from Website/static/api/showcase.json)

This issue is already resolved by the pipeline configuration.

🟡 Minor: SonarQube Duplication (3.8% > 3%)

Root Cause: Large CSS files in Website/static/css/ (4,192 lines in app.css alone)

Recommendation: The current SonarCloud exclusions in sonar-project.properties:2 target Website/static/css/**/*.css, which should resolve this. The failure might be from a timing issue or the exclusions not taking effect yet.

📋 Code Quality Assessment

Build System ✅

  • PowerShell script properly handles cross-platform execution (.exe, apphost, .dll fallbacks)
  • Error handling and proper exit codes implemented
  • Clean CI/CD pipeline with appropriate timeout settings

Configuration ✅

  • JSON schemas provide good validation for pipeline configuration
  • Proper static asset routing and overlay configuration
  • Sensible redirects for API documentation (/docs/api/api)

Test Coverage ✅

  • No impact to core library test coverage (59.74% maintained)
  • Website build verification tests in CI ensure output integrity
  • PowerForge.Web audit step includes Playwright testing

🚀 Recommendations

  1. Monitor SonarQube: The CSS exclusions should resolve the duplication issue on next scan
  2. Consider: Add a verification step in CI to ensure faq.json/showcase.json exist in playground output
  3. Documentation: The infrastructure change is well-documented in commit messages

🔒 Security Review

  • No security concerns identified
  • Generated content properly excluded from tracking
  • No exposure of sensitive information in configuration files

Verdict: ✅ Approved - This is a clean infrastructure modernization that improves maintainability while preserving functionality.


Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR replaces the legacy CodeGlyphX website infrastructure with the new PowerForge.Web system, consolidating website content under a unified Website/ directory structure and routing API documentation to /api.

Changes:

  • Remove generated API documentation outputs (JSON/HTML) from CodeGlyphX.Website/wwwroot/api/types/
  • Remove legacy website build and deployment scripts from Build/ directory
  • Clean up obsolete infrastructure supporting the old website architecture

Reviewed changes

Copilot reviewed 52 out of 961 changed files in this pull request and generated no comments.

Show a summary per file
File Description
CodeGlyphX.Website/wwwroot/api/types/*.json Removal of generated API type metadata files
CodeGlyphX.Website/wwwroot/api/types/*.html Removal of generated API documentation HTML pages
Build/website-smoke-tests.js Removal of Node.js-based website smoke test suite
Build/Verify-ApiDataSources.ps1 Removal of API data source verification script
Build/Update-StyleBoard.ps1 Removal of style board asset generation script
Build/Update-NavFragments.ps1 Removal of navigation fragment update script
Build/Test-MobileLayout.ps1 Removal of mobile layout testing script
Build/Run-Website.ps1 Removal of legacy website development server script
Build/Publish-WebsitePages.ps1 Removal of static page publication script
Build/Generate-Sitemap.ps1 Removal of sitemap generation script
Build/Generate-Llms.ps1 Removal of LLM context file generation script
Build/Build-Website.ps1 Removal of master website build orchestration script

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ca0d23bd6e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +25 to +29
"task": "overlay",
"source": "./_temp/playground/wwwroot",
"destination": "./_site/playground",
"clean": true,
"include": "**/*, *"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Publish FAQ/Showcase JSON for playground app

This overlay only ships the published wwwroot into /playground, but the generated wwwroot/api output was removed in this change, so the published app no longer contains api/faq.json or api/showcase.json. The Blazor pages still request these files (e.g., Http.GetFromJsonAsync("api/faq.json") in CodeGlyphX.Website/Pages/Faq.razor and api/showcase.json in Showcase.razor), so navigating to /playground/faq or /playground/showcase will 404 the data and leave the pages stuck in their loading state. Consider copying Assets/Data into /playground/api during the pipeline or updating the app to read from the new data location.

Useful? React with 👍 / 👎.

@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.75%. Comparing base (849026b) to head (d08ae10).
⚠️ Report is 15 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #73      +/-   ##
==========================================
- Coverage   59.75%   59.75%   -0.01%     
==========================================
  Files         448      448              
  Lines       57814    57814              
  Branches    16563    16563              
==========================================
- Hits        34547    34545       -2     
- Misses      17564    17565       +1     
- Partials     5703     5704       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@PrzemyslawKlys
Copy link
Member Author

Updates pushed:

  • Pipeline now copies Website/static/api -> _site/playground/api so FAQ/Showcase load in Blazor playground.
  • CI/pages workflows switched to PowerForge.Web pipeline (dotnet …PowerForge.Web.Cli.dll) and removed Node/npx serve smoke tests; Playwright handled by audit step.
  • Website/build.ps1 made OS-agnostic (apphost/.dll).
  • Added sonar-project.properties to exclude Website/static/css from duplication gate.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 5, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
3.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@PrzemyslawKlys PrzemyslawKlys merged commit 19deca7 into master Feb 5, 2026
8 of 9 checks passed
@PrzemyslawKlys PrzemyslawKlys deleted the codeglyphx/website branch February 5, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants