✨ Repo-Scribe: The AI Commit Assistant with Memory
Stop writing generic commit messages.
Repo-Scribe uses Google gemma-3-27b + RAG (Retrieval-Augmented Generation) to write context-aware, professional commit messages directly inside VS Code.


🚀 Why Repo-Scribe?
Unlike other AI commit tools that just look at your code diff, Repo-Scribe reads your project documentation first.
- 🧠 It Has Memory: It learns your coding conventions, rules, and style from your
docs/ folder.
- ⚡ Lightweight: Runs entirely in VS Code (TypeScript). No Python, no Docker, no heavy databases required.
- 🔍 Smart Context: Uses "Smart Batching" to handle massive files without crashing.
- 🔒 Secure: Your code is sent only to the official Google Gemini API. No third-party servers.
📦 Installation
Option 1: Install from VSIX (Recommended)
- Download the latest
.vsix release from the Releases page.
- Open VS Code Extensions (
Ctrl+Shift+X or Cmd+Shift+X on Mac).
- Click the ... (Three Dots) menu > Install from VSIX...
- Select the downloaded
.vsix file.
Option 2: Run from Source
git clone https://github.com/sasidharakurathi/repo-scribe.git
cd repo-scribe
npm install
code .
Then press F5 to launch the extension in a new VS Code window.
⚙️ Configuration
1. Set Your Gemini API Key
- Get a free API key from Google AI Studio
- Open VS Code Settings (
Ctrl+, or Cmd+,)
- Search for Repo-Scribe
- Enter your API key in the
Repo-Scribe: Gemini API Key field
By default, Repo-Scribe looks for documentation in the docs/ folder at your project root. You can customize this:
- Setting:
repo-scribe.docsPath
- Default:
docs/
- Example:
documentation/, wiki/, etc.
🎯 Usage
Generate a Commit Message
- Make changes to your code and stage them in Git
- Open the Source Control panel (
Ctrl+Shift+G)
- Click the ✨ Generate Commit Message button in the Source Control toolbar
- Repo-Scribe will analyze your changes and documentation, then generate a professional commit message
Manual Command
You can also run the command directly:
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type "Repo-Scribe: Generate Commit Message"
- Press Enter
🧠 How It Works
Repo-Scribe uses a three-step process:
- 📖 Documentation Indexing: Scans your
docs/ folder to understand your project's conventions, style guides, and coding standards
- 🔍 Diff Analysis: Examines your staged Git changes to understand what was modified
- ✍️ AI Generation: Sends the context to Google gemma-3-27b, which generates a professional, context-aware commit message
Smart Batching
Large files are automatically chunked to stay within API limits, ensuring reliable performance even on massive codebases.
🛠️ Features
- ✅ Context-Aware Messages: Understands your project's unique conventions
- ✅ Fast & Lightweight: Pure TypeScript, no heavy dependencies
- ✅ Privacy-Focused: Only sends data to official Google Gemini API
- ✅ Smart File Handling: Automatically handles large diffs
- ✅ Configurable: Customize documentation paths and behavior
- ✅ Works Offline (for indexing): Documentation is indexed locally
📝 Example Output
Before Repo-Scribe
Update files
After Repo-Scribe
feat(auth): implement JWT token refresh mechanism
- Add refreshToken endpoint to auth controller
- Implement token rotation strategy per security guidelines
- Add unit tests for token expiration scenarios
- Update API documentation in docs/api/authentication.md
Follows the authentication patterns documented in docs/security/auth-standards.md
🤝 Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature)
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
📞 Support
Made with ❤️ by Sasidhar Akurathi, for developers