/devhomegithubextension

Dev Home GitHub Extension

Primary LanguageC#MIT LicenseMIT

image

Welcome to the Dev Home GitHub Extension repo

This repository contains the source code for:

Related repositories include:

Installing and running Dev Home GitHub Extension

Note: The Dev Home GitHub Extension requires Dev Home. Dev Home requires Windows 11 21H2 (build 22000) or later.

Dev Home Extensions library [Recommended]

You can install the Dev Home GitHub Extension from the Extensions library within Dev Home. This page can be found in the left-hand navigation pane. The list of available extensions will provide links to install from the store.

Microsoft Store

You can also install the Dev Home GitHub Extension directly from its Microsoft Store listing.

Other install methods

Via GitHub

For users who are unable to install the Dev Home GitHub Extension from the Microsoft Store, released builds can be manually downloaded from this repository's Releases page.


Dev Home GitHub Extension overview

Please take a few minutes to review the overview below before diving into the code:

Widgets

The Dev Home GitHub Extension provides widgets for Dev Home's dashboard, which is built as a Windows widget renderer. These widgets are built using the Windows widget platform, which relies on Adaptive Cards.

Machine configuration repository recommendations

The machine configuration tool utilizes the Dev Home GitHub Extension to recommend repositories to clone, but isn't required to clone and install apps. The app installation tool is powered by winget.


Documentation

Documentation for the Dev Home GitHub Extension can be found at https://aka.ms/devhomedocs.


Contributing

We are excited to work alongside you, our amazing community, to build and enhance the Dev Home GitHub Extension!

BEFORE you start work on a feature/fix, please read & follow our Contributor's Guide to help avoid any wasted or duplicate effort.

Communicating with the team

The easiest way to communicate with the team is via GitHub issues.

Please file new issues, feature requests and suggestions, but DO search for similar open/closed preexisting issues before creating a new issue.

If you would like to ask a question that you feel doesn't warrant an issue (yet), please reach out to us via Twitter:

Developer guidance

Building the code

  • Clone the repository
  • Uninstall the Preview version of the Dev Home GitHub Extension (Dev Home has a hard time choosing which extension to use if two versions exist)
  • Open GitHubExtension.sln in Visual Studio 2022 or later and build from the IDE, or run build\scripts\build.ps1 from a Visual Studio command prompt.

OAuth App

Since secrets cannot be checked in to the repository, developers must create their own test OAuth app for local tests.

Follow this link https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app to create a Git OAuth app (with RedirectUri = "devhome://oauth_redirect_uri/").

The OAuth App ClientId and ClientSecret can be added as environment variables using the following instructions:

On an elevated cmd window:
    setx GITHUB_CLIENT_ID "Your OAuth App's ClientId" /m
    setx GITHUB_CLIENT_SECRET "Your OAuth App's ClientSecret" /m

Code of conduct

We welcome contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.