Skip to content

Conversation

@bniladridas
Copy link
Owner

@bniladridas bniladridas commented Jan 22, 2026

GitHub OAuth Authentication with Dotfiles Sync

Added GitHub OAuth authentication system with dotfiles sync functionality across machines.


Changes

  • Authentication System: Added GitHub OAuth login with token validation and secure storage
  • Sync Features: Backup/restore dotfiles to private GitHub repositories with push/pull commands
  • Installation Methods: Added Homebrew, UV, and direct bash installation options for user flexibility
  • Bug Fix: Fixed .zshrc overwrite issue to prevent duplicate entries on multiple runs
  • GitHub Actions: Added pull-requests: read permission to CodeQL workflow
  • Automation: Added automated tracking workflow to update issue 📋 Master Tracking Issue: All PRs and Issues Context #52 on PR/issue events
  • Dependencies: Added jq dependency check to prevent authentication failures
  • Code Quality: Fixed actionlint issues in workflow configuration

All tests pass locally and the authentication system is fully functional with secure token storage. Users can now sync dotfiles across multiple machines seamlessly. The repository now has automated tracking for all PRs and issues.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @bniladridas, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the dotfiles management system by integrating GitHub OAuth for user authentication and introducing a robust synchronization mechanism. Users can now securely log in and effortlessly backup or restore their dotfiles to a private GitHub repository, ensuring consistency across their development environments. Additionally, the PR streamlines the installation process with new methods and resolves a critical bug related to .zshrc configuration, improving overall reliability and user experience.

Highlights

  • User Authentication: Implemented a GitHub OAuth authentication system, allowing users to log in, log out, and check their login status using a personal access token. This system securely stores credentials.
  • Dotfiles Synchronization: Introduced functionality to backup (push) and restore (pull) dotfiles to/from a private GitHub repository. This enables seamless synchronization of configuration across multiple machines.
  • Installation Flexibility: Expanded installation options to include direct Bash, Homebrew, and UV (Python Package Manager), alongside the existing manual clone method, improving user convenience.
  • Zshrc Overwrite Fix: Addressed a bug in setup-mac.sh that prevented duplicate PS1 entries from being added to .zshrc on multiple runs, ensuring configuration integrity.
  • Code Quality Improvements: Enhanced error handling, user experience, and removed unused variables across the codebase, as noted in the PR description.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a robust user authentication system using GitHub OAuth and a comprehensive dotfiles synchronization feature. The changes also include multiple installation methods and a crucial bug fix for the .zshrc overwrite issue. The new features significantly enhance the usability and management of dotfiles across different machines. Overall, the implementation is well-structured and addresses key functionalities. However, I've identified a few areas for improvement regarding security, robustness of token handling, and clarity in feature descriptions.

@bniladridas bniladridas changed the title feat: add user authentication and sync system feat: add GitHub authentication and dotfiles sync functionality Jan 22, 2026
@bniladridas bniladridas force-pushed the feature/user-auth-and-sync-system branch from 6d505b8 to a5a92c2 Compare January 22, 2026 14:29
@bniladridas bniladridas merged commit e9ddf97 into main Jan 22, 2026
9 checks passed
@github-project-automation github-project-automation bot moved this from Todo to Done in github-dotfiles Jan 22, 2026
Repository owner locked as resolved and limited conversation to collaborators Jan 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants