A Chrome extension that replicates Arc browser's tab management system, providing a vertical sidebar for efficient tab organization and management.
- Vertical tab management
- Tab grouping functionality
- Keyboard shortcuts for quick access
- Bookmark integration
- Clean, minimal interface
- Node.js (v16 or higher)
- npm or yarn
- Google Chrome or Chromium-based browser
- Git (for version control)
- Basic knowledge of HTML, CSS, and JavaScript
-
Clone and Install
git clone https://github.com/nisargkolhe/arcify.git cd arcify npm install -
Development Build
npm run dev
This creates a
dist-dev/folder with source maps for debugging and watches for file changes. -
Production Build
npm run build
This creates an optimized
dist/folder ready for distribution. -
Create Distribution Package
npm run build:zip
This builds the extension and creates
arcify-extension.zipfor Chrome Web Store submission.
-
Open Chrome Extensions page
- Navigate to
chrome://extensions/ - Or go to Menu → More Tools → Extensions
- Navigate to
-
Enable Developer Mode
- Toggle the "Developer mode" switch in the top right corner
-
Load the Extension
- Click "Load unpacked"
- Select the
dist/ordist-dev/directory - The extension should now appear in your browser
-
Make Changes
- Edit source files in the root directory
- For development:
npm run dev(watches for changes) - For production testing:
npm run build
-
Reload Extension
- Go to
chrome://extensions/ - Click the refresh icon on the Arcify extension card
- Or use Ctrl+R in the extension's popup/sidebar
- Go to
-
Debug
- Use Chrome DevTools for the extension pages
- Check the extension's service worker in
chrome://extensions/ - View console logs in the extension's background page
npm run dev- Development build with file watchingnpm run build- Production buildnpm run build:zip- Build and create zip packagenpm run zip- Create zip from existing buildnpm run clean- Remove all build artifactsnpm run preview- Preview the built extensionnpm run info- Display build information and statusnpm run release <type>- Create a new release (patch/minor/major/x.y.z)
The project uses automated releases via GitHub Actions. To create a new release:
-
Prepare your changes
# Make sure all changes are committed git status -
Create a release
# For bug fixes (2.2.0 → 2.2.1) npm run release patch # For new features (2.2.0 → 2.3.0) npm run release minor # For breaking changes (2.2.0 → 3.0.0) npm run release major # For specific version npm run release 2.5.0
-
Automated process
- Updates
package.jsonandmanifest.jsonversions - Builds and tests the extension
- Creates a git tag and pushes to GitHub
- GitHub Actions automatically:
- Builds the extension
- Generates release notes from commits
- Creates a GitHub release
- Attaches the zip file and SHA256 checksum
- Updates
-
Monitor the release
- Check the Actions tab for build status
- Review the generated release at Releases
We use GitHub Issues to track bugs and feature requests. Before creating a new issue:
- Search existing issues to avoid duplicates
- Use our issue templates when available
- Go to the Issues page
- Click "New Issue"
- Choose "Bug Report" template if available
- Include:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Browser version and OS
- Screenshots if applicable
- Go to the Issues page
- Click "New Issue"
- Choose "Feature Request" template if available
- Include:
- Clear description of the feature
- Use cases
- Potential implementation ideas (optional)
- Mock-ups or examples (if applicable)
Discord to discuss development: https://discord.gg/D9jQHQnjNb
We welcome contributions! Here's how you can help:
-
Fork the Repository
- Create a fork of this repository on GitHub
-
Create a Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Write clean, documented code
- Follow existing code style
- Test your changes thoroughly
-
Commit Your Changes
git commit -m "Add: brief description of your changes" -
Push to Your Fork
git push origin feature/your-feature-name
-
Submit a Pull Request
- Create a Pull Request from your fork to our main repository
- Provide a clear description of the changes
- Reference any related issues
- Write meaningful commit messages
- Update documentation as needed
- Add comments to your code where necessary
- Test your changes before submitting
- Follow existing code style and conventions
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- You can freely use, modify, and distribute this software
- If you modify and distribute this software, you must:
- Make your modifications available under the GPL
- Include the original copyright notice
- Provide access to the source code
- Include the full license text
If you have any questions or suggestions, please open an issue on GitHub.
- Inspired by the Arc Browser's innovative tab management system. Huge thanks to the Arc team for coming up with the system we've all grown to love!
- Thanks to all contributors who help improve this project
