A Chrome extension that helps you navigate between your most recently active tabs using keyboard shortcuts, similar to Alt+Tab for windows but specifically for browser tabs.
- Tab History Tracking: Automatically tracks your recently active tabs
- Keyboard Shortcuts: Quick navigation using customizable keyboard shortcuts (default: Alt+Q)
- Configurable Settings: Options page to customize behavior and preferences
- Lightweight: Minimal resource usage with efficient background processing
-
Clone this repository:
git clone https://github.com/ticolucci/rotate-active-tabs-chrome-extension.git cd rotate-active-tabs-chrome-extension -
Install dependencies:
npm install
-
Load the extension in Chrome:
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
- Select the extension directory
- Open Chrome and navigate to
Coming soon
- Navigate Between Tabs: Press
Alt+Q(or your configured shortcut) to cycle through your recently active tabs - Configure Settings: Right-click the extension icon and select "Options" to customize preferences
- Node.js (v14 or higher)
- npm or yarn
- Chrome browser
# Install dependencies
npm install
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
# Lint code
npm run lint
# Fix linting issues
npm run lint:fix.
├── manifest.json # Extension configuration
├── background.js # Service worker (background script)
├── options.html # Options page HTML
├── options.css # Options page styles
├── options.js # Options page logic
├── icons/ # Extension icons
├── __tests__/ # Test files
├── package.json # npm configuration
├── .eslintrc.js # ESLint configuration
├── .gitignore # Git ignore rules
├── CLAUDE.md # AI assistant context
├── LICENSE # MIT License
└── README.md # This file
This extension uses Chrome's Manifest V3 architecture:
- Service Worker (
background.js): Handles tab tracking and keyboard shortcuts - Options Page (
options.html/css/js): Provides user interface for configuration - Chrome Storage API: Persists user preferences and tab history
The project uses Jest for unit testing with jsdom environment for DOM testing. Tests are located in the __tests__/ directory.
# Run all tests
npm test
# Watch mode for development
npm run test:watch
# Generate coverage report
npm run test:coverageThe project uses ESLint to maintain code quality:
# Check for issues
npm run lint
# Automatically fix issues
npm run lint:fixContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Thiago R. Colucci
- Chrome Extension documentation and community
- All contributors to this project
If you encounter any issues or have questions, please file an issue on the GitHub repository.