Is your feature request related to a problem? Please describe.
Currently, users can generate devcontainer.json but have to manually commit it to the repository. Adding a GitHub login and an option to create a pull request (PR) directly from the interface will streamline the process.
Describe the solution you'd like
Implement a GitHub login option to authenticate users.
After successful login, display a "Create PR" button to commit the generated devcontainer.json directly to the repository.
Ensure that the PR creation process:
Forks the repository to the user's GitHub account.
Commits the generated devcontainer.json to the forked repository.
Creates a pull request from the fork to the original repository.
Describe alternatives you've considered
Manually instructing users on how to copy and commit the devcontainer.json via GitHub interface.
Using external GitHub CLI tools, which would complicate the workflow compared to an integrated solution.
Additional context
GitHub Login Integration:
Use OAuth to handle GitHub authentication.
Store user tokens securely for subsequent API calls.
Frontend Changes:
Add the "Create PR" button after successful login and devcontainer.json generation.
Backend Changes:
Update main.py to handle OAuth callback and store user token.
Implement a function to fork the repository, commit changes, and create a pull request using GitHub API.
Example Flow:
User clicks "Login with GitHub".
After authentication, the user generates the devcontainer.json.
A "Create PR" button appears.
Clicking the "Create PR" button forks the repo, commits the devcontainer.json, and creates a pull request.
Security Considerations:
Ensure tokens are securely stored and managed.
Handle user permissions carefully to avoid unauthorized changes.
Is your feature request related to a problem? Please describe. Currently, users can generate
devcontainer.json
but have to manually commit it to the repository. Adding a GitHub login and an option to create a pull request (PR) directly from the interface will streamline the process.Describe the solution you'd like
devcontainer.json
directly to the repository.devcontainer.json
to the forked repository.Describe alternatives you've considered
devcontainer.json
via GitHub interface.Additional context
GitHub Login Integration:
Frontend Changes:
devcontainer.json
generation.Backend Changes:
main.py
to handle OAuth callback and store user token.Example Flow:
devcontainer.json
.devcontainer.json
, and creates a pull request.Security Considerations: