microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
22.54k stars 1.39k forks source link

Clone and configure a GitHub project #4435

Open denelon opened 2 months ago

denelon commented 2 months ago

Description of the new feature / enhancement

I'd like to simplify the process of cloning and configuring a GitHub project.

The trivial syntax would look something like this: winget configure https://github.com/microsoft/winget-cli

Gaps:

This would also greatly simplify the process for users on a new system getting their personal configuration set up just the way they like. It also means the user would need to remember the raw GitHub URL for their configuration.

I'm still working on my stuff, and it probably is broken, but I'd like to be able to run the following command on any machine I use so all my favorite stuff is installed and configured:

winget configure https://github.com/denelon/setup

Suggested by @acangialosi

Proposed technical implementation details

No response

github-actions[bot] commented 2 months ago

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

Trenly commented 2 months ago

WinGet would need to have a default behavior with respect to where to clone the repository.

I think this could be just like git, where the present working directory is used

acangialosi commented 2 months ago

A possible extension of this concept could be using the well-known DSC configuration on the local machine with a parameter like "--use-default-configuration". It would enable an iterative workflow like the one below.

git checkout release-v1.0.11451 winget configure --use-default-configuration

build, test, code in older code base

git checkout main winget configure --use-default-configuration

resume work on main branch