RepoSyncRadar is a Windows desktop app for GitHub Enterprise Cloud administrators who need to review github/docs Repo sync changes and decide which documentation updates deserve operational attention.
It combines deterministic ingestion of Repo sync PRs with GitHub Copilot SDK triage, local review history, rendered docs previews, and sharing-draft generation so a daily docs review can fit into a short operator workflow.
Important
RepoSyncRadar is a review aid for administrators. It does not replace official GitHub release notes, GitHub Changelog posts, support guidance, or human approval before communicating changes.
- Ingests recent
github/docsRepo sync PRs and stores commit, file, scoring, review, ignore-rule, and draft data in SQLite. - Uses the GitHub Copilot SDK to run Morning Triage, score candidate commits, and generate review summaries.
- Keeps operator decisions explicit with Unseen, Watch, Later, Rejected, Archive, directory ignore rules, and importance boost data.
- Maps changed docs paths to
docs.github.comURLs so reviewers can jump from a commit to the public article context. - Renders local before/after Markdown previews for docs changes through the app's .NET Markdown/Liquid pipeline and WebView2, without requiring Node.js.
- Generates human-reviewed sharing drafts for short-form updates and customer-facing notices.
- Authenticates with GitHub OAuth Device Flow and stores the resulting token locally with Windows DPAPI.
- Supports installed-package updates through Velopack release feeds.
| Requirement | Notes |
|---|---|
| Windows | Windows 11 is the primary target. WebView2 Runtime is required and is normally preinstalled. |
| GitHub account | The signed-in account must have an active GitHub Copilot subscription. |
| Git | Optional for basic triage, but required for local docs preview because the app reads github/docs content by commit SHA from a bare clone. |
The installed app is self-contained and does not require a separate .NET Desktop Runtime. The Copilot CLI used by the SDK is supplied by the GitHub.Copilot.SDK package and is prepared automatically at runtime.
- Download the latest
SIkebe.RepoSyncRadar-*-Setup.exefrom the Releases page. Choose the asset that matches your Windows architecture and channel, such aswin-x64-stableorwin-arm64-stable. - Run the installer and launch RepoSyncRadar from the Start Menu.
- Complete GitHub OAuth Device Flow on first launch. The app opens GitHub's device login page, copies the user code to the clipboard, and stores the resulting token in
%LocalAppData%\RepoSyncRadar\github-token.binusing Windows DPAPI. - Press Triage to ingest recent
github/docsRepo sync PRs and let Copilot score candidate changes.
Distribution builds include the public RepoSyncRadar OAuth Client ID. Organizations that require a managed OAuth App can override Copilot:OAuthClientId in %LocalAppData%\RepoSyncRadar\appsettings.local.json or with RADAR_Copilot__OAuthClientId.
Installed builds can check Velopack update feeds and apply newer releases without rebuilding from source.
- Start the app and confirm the header shows a signed-in GitHub user.
- Run Triage to fetch Repo sync PRs, ingest new commits, and let Copilot score likely operator-impacting changes.
- Review the Unseen queue, then mark commits as Watch, Later, Rejected, or Archive.
- Open changed docs URLs or use local preview for Markdown changes where a rendered before/after comparison is useful.
- For focused commits, generate or copy sharing drafts, then make the final human decision outside the app.
Local preview is opt-in. By default, startup does not clone or fetch github/docs; preview work begins only when a preview action needs it, unless DocsRepository:PrewarmOnStartup is set to true.
Installed builds read per-user overrides from %LocalAppData%\RepoSyncRadar\appsettings.local.json. Source builds can also use src\RepoSyncRadar.App\appsettings.local.json. The committed defaults live in src\RepoSyncRadar.App\appsettings.json.
Key settings:
| Section | Purpose |
|---|---|
GitHub |
Source repo, Repo sync title filter, maximum PR count, and optional PR-created cutoff. |
DocsApi |
docs.github.com API base address and page-list cache settings. |
Copilot |
Default Copilot model, SDK telemetry, remote-session toggle, OAuth Client ID, and OAuth scopes. |
WebView |
Host allow-list for docs, GitHub, assets, and GitHub Copilot Chat traffic inside WebView2. |
DocsRepository |
github/docs clone URL, preview prewarm toggle, preview base port, and preview timeout. |
Updates |
Velopack update-feed behavior for installed builds. |
For a full setup walkthrough, OAuth details, local-preview behavior, and release-update notes, see docs/USAGE.md.
Source builds require the preview .NET SDK pinned in global.json: 11.0.100-preview.6.26359.118 with prerelease roll-forward enabled.
Agent skills are managed by APM. Run apm install after cloning so the pinned Modern Web Guidance skill in apm.yml is restored from apm.lock.yaml.
git clone <this-repo-url> C:\github\RepoSyncRadar
cd C:\github\RepoSyncRadar
irm https://aka.ms/apm-windows | iex
apm install
apm audit --ci --no-fail-fast
dotnet restore
dotnet build RepoSyncRadar.sln -warnaserror
dotnet run --project src\RepoSyncRadar.Appsrc/
RepoSyncRadar.App/ WPF startup assembly, Blazor UI, Copilot orchestration, auth, preview UI, update UI
RepoSyncRadar.Core/ EF Core models, options, service interfaces, GitHub/docs clients, preview rendering
tests/
RepoSyncRadar.App.Tests/ bUnit, UI component, Copilot workflow, auth, preview, and style tests
RepoSyncRadar.Core.Tests/ Core model, data, service, resolver, preview, and sanitization tests
RepoSyncRadar.Integrations.Tests/ External-facing service integration tests
RepoSyncRadar.App.E2E.Tests/ WebView/WPF-oriented end-to-end tests
docs/
DESIGN.md Product design and architecture notes
USAGE.md Setup and operator guide
RELEASE.md Packaging, release, and update-feed details
IMPLEMENTATION_PLAN.md Historical implementation checklist
dotnet build RepoSyncRadar.sln -warnaserror
dotnet test RepoSyncRadar.sln -- --filter-not-trait Category=ManualManual tests are intentionally excluded from the default test command. Automated WebView/WPF coverage lives in tests\RepoSyncRadar.App.E2E.Tests and uses the Category=E2E trait.
RepoSyncRadar uses Velopack for installed Windows releases and update feeds. The release workflow publishes installer/update-feed assets rather than portable bundles.
For local package validation, use:
.\scripts\Build-VelopackRelease.ps1 -NoPortable -NoLegacyManifestSee docs/RELEASE.md for release channels, asset expectations, and installed-package smoke guidance.
docs/DESIGN.mdexplains the product goals, architecture, Copilot SDK integration, data model, and preview strategy.docs/USAGE.mdis the operator guide for setup, OAuth, daily review, local preview, and updates.docs/PUBLIC_RELEASE_READINESS.mdtracks public-release blockers and follow-ups.


