- Give users a good set of handrails so in their use of the UI, they don’t get themselves stuck.
- Provide a ‘happy path’ that the extension doesn’t deviate from. Make it easy for users to follow this happy path and difficult for them to deviate from it.
- Help establish a good working rhythm with Git that will help them develop a useful mental model .
- Expose the most frequently used commands that cover the majority of daily git use.
- Increase Usability of Git
- Shield user from repetitive actions.
- Increase visibility of the state of Git Repos; surface state-related information.
- Unblock advanced commands by easing transition to terminal when necessary.
- Surface the most used commands, and in what context they are used.
- Discover Git functionality that is frequently helpful, but difficult to execute.
- Add remote functionality (Push to Origin [default], Pull from Origin [default], Expose Remotes?)
- Merge/diff conflicts handled in the terminal
- Branches
- Add new Branch
- Switch Branches
- Surface reasons for disabled actions (create/switch)
- Repos (Through File Browser)
- Clone Repo (Button in file browser)
- Init Repo (In file menu) ← Expose this elsewhere?
- Select Repo (Through File Browser) ← Give feedback in filebrowser as to existence of repo?
- Commits
- Commit
- Stage
- Remove
- Give Git feedback in the file browsers
- Allow users to link to the git extension directly from the file browser.
- Add Stash Functionality.
- Migrate changes to new branch when created.