🤖 A beautiful, mobile-first Flutter app for managing GitHub repos, powered by Google Gemini 1.5 Flash and OpenAI.
/slash is a mobile coding assistant for GitHub. It lets you securely connect your GitHub account and OpenAI/Gemini API keys, browse files, create branches, commit changes, open PRs, and review AI-generated code suggestions—all from your phone, with a modern, dark-themed UI.
- 📱 Mobile-First UI: Modern, dark, and responsive design
- 🔒 Secure Local Storage: API keys and tokens stored securely on device
- 🧠 AI-Powered Code Suggestions: Uses Gemini or OpenAI for code changes and PR summaries
- 🗂️ File Browser: Browse, view, and edit files in your GitHub repos
- 🔀 Branch Switching: Pick and switch between any branch in any repo, with a mobile-friendly floating action button and scrollable branch picker.
- 📝 Mobile Code Editor: Edit files and AI-suggested code directly in-app, with syntax highlighting and a clean, line-number-free interface.
- 🚀 Commit & Push: Commit and push changes to any branch, with a commit message dialog, all from your phone.
- 🤖 AI-to-Manual Edit Flow: Instantly jump from AI code suggestions to manual editing in the main code editor tab, with a clear user prompt.
- ⚡ Smooth Startup & Navigation: Splash screen waits for all data to load, and the app always starts on the Prompt screen for a seamless experience.
- 🌿 Branching & PRs: Create branches, commit changes, and open pull requests
- 📝 Review & Approve: Review diffs, summaries, and approve or reject AI changes
- 🔄 No Backend Required: All logic runs on-device; no server needed
slash_flutter/
├── lib/
│ ├── common/ # Shared providers, services, widgets
│ ├── features/ # Feature modules (auth, repo, file_browser, review, etc.)
│ ├── services/ # API service classes (GitHub, Gemini, Secure Storage)
│ ├── ui/ # UI components, theme, colors
│ └── main.dart # App entry point
├── android/ # Android project files
├── ios/ # iOS project files
├── pubspec.yaml # Flutter dependencies
└── README.md # This file
- Flutter SDK
- A GitHub Personal Access Token (PAT)
- A Gemini or OpenAI API key
git clone
cd slash_flutter
flutter pub getflutter run- On first launch, enter your Gemini/OpenAI API key and GitHub PAT in the app's onboarding screen.
- Your credentials are stored securely on your device.
- Theme: Dark mode by default, with vibrant purple and black
- API Keys: Managed via secure local storage
- No backend: All logic is client-side
- Prompt-to-PR: Enter a prompt, review AI-generated code changes, and open a PR—all in-app
- Review Screen: See a diff, summary, and approve or reject changes
- Branching: PRs are created on new branches named
slash/<timestamp>
- Connect your APIs
- Select a repo and branch
- Enter a prompt (e.g., "Add dark mode toggle")
- Review the AI's suggestion and diff
- Approve to create a branch, commit, and open a PR
- Or tap "edit" to manually tweak the code in the editor, then commit & push
- API Errors: Ensure your keys are valid and have the correct scopes
- GitHub PAT: Needs
reposcope for private repos - Gemini/OpenAI Key: Must have sufficient quota
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details.
For issues and questions:
- Open an issue in this repository
- Check the troubleshooting section above