Skip to content

Latest commit

Β 

History

History
123 lines (84 loc) Β· 5.82 KB

File metadata and controls

123 lines (84 loc) Β· 5.82 KB

JitHub Logo

JitHub

JitHub is the ultimate UWP app for GitHub lovers πŸ’–. It lets you browse GitHub repositories, issues, pull requests, and more on your Windows device. It is designed to be smooth, fluid, and native, using WinUI for the look and feel and optimized for touch. JitHub is fast, beautiful, and powerful πŸ’ͺ.

Download JitHub

Features 🎁

  • Browse GitHub repositories by topics, languages, or keywords πŸ”Ž
  • View repository details, files, commits, issues, pull requests, and actions πŸ“
  • Star, fork, watch, or clone any repository ⭐
  • Create, edit, or close issues and pull requests βœ…
  • Comment on issues and pull requests with Markdown support πŸ—£οΈ
  • Manage your notifications and profile πŸ””
  • Switch between light and dark themes πŸŒžπŸŒ™

Screenshots πŸ“Έ

Installation πŸ’Ύ

You can download JitHub from the Microsoft Store or build it from source.

Microsoft Store

Get JitHub from the Microsoft Store and enjoy the best GitHub experience on Windows 😍.

Build from source

To build JitHub from source, you need Visual Studio 2019 with the following workloads:

  • Universal Windows Platform development πŸ–₯️

JitHub is powered by the following NuGet packages:

  • Microsoft.UI.Xaml 🎨
  • Octokit πŸ™
  • Markdig πŸ“‘
  • Html Agility Pack πŸ•ΈοΈ
  • Skiasharp ✏️
  • Microsoft.Toolkit.Uwp βš™οΈ

Then, you need to create a file named appsettings.json in the JitHub project folder with the following content. Go to settings > Developer settings and create an OAuth app. Name it however you like, and in there you can get your clientID and secret. Copy them into the appsettings.json file. This file is gitignored, so please never commit it.

{
  "Credential": {
    "ClientId": "<your client ID>"
  }
}

Finally, set environment variable JithubAppSecret to your GitHub seret and JitHubClientId to your GitHub client ID.

Now you need to build the editor assets from jithub-vs-code. Run .\sync-vscode-assets.ps1 in PowerShell. The script looks for a local jithub-vs-code clone (including E:\jithub-vs-code), runs yarn --frozen-lockfile and yarn build, and then copies the generated dist output into JitHub\Assets\dist.

After that, you can open the JitHub.sln file in Visual Studio and run the app.

Microsoft Store release workflow

The repository now includes a manual GitHub Actions workflow at .github/workflows/jithub-store-release.yml for building a Store upload package and publishing it to Partner Center in one run.

JitHub is currently published from an individual Partner Center account. Full automation is still possible, but Microsoft Store publishing uses the same Microsoft Entra application flow that organization accounts use. That means the GitHub environment must contain the Partner Center product identity values and a working Entra tenant/app registration that has been granted access in Partner Center.

Set up a protected GitHub environment named microsoft-store and configure these secrets there:

  • STORE_PRODUCT_ID
  • STORE_SELLER_ID
  • STORE_TENANT_ID
  • STORE_CLIENT_ID
  • STORE_CLIENT_SECRET
  • STORE_PACKAGE_IDENTITY_NAME
  • STORE_PACKAGE_PUBLISHER

Optional secrets:

  • STORE_PHONE_PRODUCT_ID
  • STORE_PHONE_PUBLISHER_ID
  • STORE_PACKAGE_CERTIFICATE_BASE64
  • STORE_PACKAGE_CERTIFICATE_PASSWORD
  • STORE_PACKAGE_CERTIFICATE_THUMBPRINT

Optional environment variables:

  • STORE_APP_DISPLAY_NAME
  • STORE_PUBLISHER_DISPLAY_NAME
  • JITHUB_STORE_BUNDLE_PLATFORMS (defaults to x86|x64|arm64)

Run the Publish JitHub to Microsoft Store workflow manually and provide a four-part release_version such as 1.6.5.0. The workflow first checks out nerocui/jithub-vs-code, builds the editor assets into JitHub\Assets\dist, patches JitHub\Package.appxmanifest at runtime from the configured environment values, builds a Store upload package, uploads the build artifacts, and then publishes the generated .appxupload or .msixupload to the Microsoft Store.

The workflow accepts an editor_assets_ref input if you ever need to point it at a non-default jithub-vs-code ref for testing, but it now defaults to master.

If the publish step fails with Partner Center authorization errors, the remaining fix is not in GitHub Actions itself: the linked Microsoft Entra application still needs the correct Partner Center access for the individual developer account.

Contributing πŸ™Œ

JitHub is an open source project and welcomes contributions from anyone. If you want to contribute, please follow these steps:

  1. Fork this repository and clone it to your local machine. 🍴
  2. Create a new branch for your feature or bug fix. 🌿
  3. Make your changes and commit them with a descriptive message. πŸ’¬
  4. Push your branch to your forked repository. πŸš€
  5. Create a pull request from your branch to this repository's main branch. πŸ™
  6. Wait for feedback or approval. πŸ‘

Please follow the code of conduct and the coding style guide when contributing.

License πŸ“„

JitHub is licensed under the MIT License. See LICENSE for details.