GitWhiz is a Visual Studio Code extension designed to assist developers with Git operations using an AI-powered assistant presented through a retro terminal-inspired interface inside VS Code. It integrates with GitHub to provide enhanced repository insights, notifications, and command suggestions. GitWhiz aims to simplify Git workflows and improve developer productivity by combining AI assistance with a nostalgic retro UI experience.
- Retro terminal UI embedded as a sidebar view within VS Code.
- AI-powered natural language Git command generation and assistance.
- Integration with GitHub for fetching notifications, user info, and repo data.
- Support for OAuth-based GitHub login and authentication.
- GitHub notification chunking and AI-generated summaries.
- Terminal-like experience with real-time AI responses.
Before installing and running the GitWhiz extension, ensure you have the following installed:
- Node.js (version 16 or above recommended)
- npm (comes with Node.js)
- Visual Studio Code (version 1.101.0 or above)
git clone https://github.com/yourusername/gitwhiz-extension.git
cd gitwhiz-extensionFrom the project root, run:
npm installThis will install all required dependencies including React, TailwindCSS, Firebase, and build tools.
Compile your React frontend and Tailwind CSS by running:
npm run build:css
npm run buildbuild:css compiles Tailwind CSS styles into a single CSS file.
build bundles React code and dependencies into a single JavaScript file for the webview.
This project requires certain secret keys and tokens which are not included in the repository for security reasons.
You need to create an .env file in the root of the project with the following environment variables:
GITHUB_CLIENT_ID=your_github_oauth_client_id
GITHUB_CLIENT_SECRET=your_github_oauth_client_secret
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
FIREBASE_PROJECT_ID=your_firebase_project_id
FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
FIREBASE_APP_ID=your_firebase_app_id
GEMINI_API_KEY=your_openai_or_gemini_api_keyThese environment variables are essential for:
- GitHub OAuth authentication flow.
- Firebase Authentication and data storage.
- AI API access via Gemini/OpenAI for natural language processing and command generation.
The project uses Gemini (OpenAI-compatible) API for AI-powered command generation and notification summaries. You must provide a Gemini configuration JSON file named gemini-config.json inside a config folder at the root of your project, structured as follows:
{
"apiKey": "your_gemini_api_key",
"model": "gpt-4o-mini",
"temperature": 0.7,
"maxTokens": 1500
}This file configures how your AI calls are made, including the API key, model selection, and response generation parameters.
Run the following command to open VS Code in Extension Development Mode:
code --extensionDevelopmentPath=$(pwd)Or open VS Code, then:
- Press F5 to start debugging.
This will launch a new VS Code window with the GitWhiz extension loaded.
- Open the GitWhiz sidebar panel (usually a terminal icon on the activity bar).
- Authenticate with GitHub using the prompted OAuth flow.
- Start interacting with the AI assistant for Git commands and notifications.
Managing Git repositories can be complex, especially for those less familiar with Git commands or workflows. Traditional Git interfaces are powerful but sometimes overwhelming.
GitWhiz was created to:
- Provide an AI-powered assistant to generate, explain, and run Git commands naturally.
- Integrate GitHub notifications and repository insights directly within VS Code.
- Present the interface with a retro terminal aesthetic to combine productivity with a nostalgic experience.
- Enable easier and faster Git interactions, reducing context switching between terminal, browser, and editor.
The project intentionally avoids exposing secrets or configuration files publicly to maintain security best practices. Developers must provide their own environment and API configurations.
- Ensure your
.envvariables andgemini-config.jsonare correctly configured. - Check for errors in the VS Code extension development console (Help > Toggle Developer Tools).
- Confirm that your GitHub OAuth app is configured correctly with redirect URIs matching your local server.
- Confirm network connectivity for API calls.
Contributions and feedback are welcome. Please open issues or pull requests to help improve GitWhiz.