Loading repository data…
Loading repository data…
AhmadHassan-BTed / repository
Navigation minimap extension for modern AI chat interfaces, injecting responsive scrollbar indicators via Shadow DOM isolation.
ScrollToPrompt is a production-grade browser extension designed to enhance the navigation experience in modern AI chat interfaces. By injecting high-performance, visual markers into the scrollbar area, it allows users to instantly locate and jump back to their previous prompts.
In the era of long-form AI interactions, navigating through hundreds of messages can be cumbersome. ScrollToPrompt aims to provide a "Minimap-like" experience for chat history, ensuring that your context is always just one click away.
MutationObserver logic with debounced rendering.The project follows a Modular Adapter Pattern, ensuring high cohesion and zero coupling between platform-specific logic and the core engine.
Core Engine: Orchestrates the detection, state management, and UI updates.Adapters: Platform-specific implementations (ChatGPT, Claude, Gemini) that handle DOM selection.UI Layer: A Shadow DOM-based component system for rendering markers.Message Bus: (Planned) Handles communication between content scripts, background workers, and the popup.src/
├── adapters/ # Site-specific logic (Adapter Pattern)
├── assets/ # Static assets & icons
├── components/ # Isolated UI components (Shadow DOM)
├── core/ # Business logic & Engine
├── background/ # Service worker logic
├── content/ # Content script entry points
├── types/ # Global TypeScript definitions
└── utils/ # Shared utility functions
@crxjs/vite-plugingit clone https://github.com/AhmadHassan-BTed/ScrollToPrompt.git
npm install
npm run dev
chrome://extensions.dist folder generated by the build.npm run lintnpm run formatnpm run testnpm run buildWe welcome contributions! Please see CONTRIBUTING.md for our contribution guidelines and CODE_OF_CONDUCT.md for our community standards.
Security is a top priority. Please refer to our SECURITY.md for reporting vulnerabilities.
This project is licensed under the MIT License - see the LICENSE file for details.