Skip to content

Repository files navigation

Tab Stack

Local-first Chrome extension — save tab sessions, restore them later, organize with tags and categories, work with your bookmark library, and optionally link a project folder index (names and structure only).

Everything stays on your device in chrome.storage.local. No Tab Stack servers, no analytics, no sync service.

Tab Stack is the sister extension to TubeStack, which saves YouTube sessions as playlists. Both follow the same save → organize → restore later workflow, but Tab Stack is aimed at long-running projects: research, client work, or any tab sprawl you need to pick up again weeks later. Collect and organize sources across sessions and bookmark folders, then reopen a whole project in one click.

Features (v1)

  • Save & restore — current window, context menu (this tab / window / left / right / except current)
    • Restore tabs flat, or with Chrome tab groups rebuilt from bookmark folder paths
  • Sessions — name, notes, tags, priority, category labels (L1 / L2 / L3), custom groups, favorites
    • List, details, and grid views; per-tab priority, tags, page metadata backups, and Wayback links
  • Bookmarks — import Chrome bookmarks, browse like a mini file manager
    • Sidebar + manager layout with folders, plus flat list and icon grid views
  • Home page — bookmarks first (Bookmarks Bar, all bookmarks, or a folder you pick), then a compact text-only news list; DuckDuckGo search and weather (Open-Meteo)
    • Global search across saved sessions and the bookmark library; themes and a custom background; hide a shortcut from the page without removing the bookmark
  • News headlines — 5 or 10 text headlines from the sources you switch on (BBC News, NPR, The Guardian), each linking to the original article. No images, adverts, or tracking. Reuters and AP are listed separately as sources requiring licensed or authenticated access
  • Linked local folder — manual folder picker per session or bookmark folder; stores file/folder names, relative paths, extensions, sizes, and modified dates only
  • Backup — export / import JSON; erase all data in Settings

Screenshots

Add screenshots here after capture (recommended 1280×800 for store listings).

Home page Sessions Bookmark manager
coming soon coming soon coming soon

Install

Chrome Web Store

Coming soon. For now, load unpacked in Developer mode (below).

Developer mode (load unpacked)

  1. Clone this repository.
  2. Open Chrome and go to chrome://extensions
  3. Enable Developer mode (top right)
  4. Click Load unpacked
  5. Select this repository folder (the one containing manifest.json)
  6. Pin Tab Stack from the extensions menu, then open the popup or home page

Reload the extension after pulling updates from git.

Permissions

Permission Why
tabs Read and restore open tabs
storage Local sessions and indexes (Chrome ~10 MB quota)
bookmarks Import and display bookmarks
tabGroups Optional restore with Chrome tab groups
contextMenus Right-click save actions
Host: api.open-meteo.com Launchpad weather forecast
Host: geocoding-api.open-meteo.com Settings: look up city / postal code
Host: icons.duckduckgo.com Favicons in session lists
Host: feeds.bbci.co.uk BBC News RSS, only when BBC News is switched on
Host: feeds.npr.org NPR RSS, only when NPR is switched on
Host: www.theguardian.com (/*/rss) Guardian RSS, only when The Guardian is switched on

Not used in v1: history, downloads, broad optional hosts, remote code.

Project layout

TabStack/
├── manifest.json          # Manifest V3 entry
├── background/            # Service worker (context menus, news feed fetches)
├── popup/                 # Toolbar popup — quick save
├── home/                  # Main UI (Launchpad, Sessions, Bookmarks, Settings)
├── sidepanel/             # Side panel stub → opens home
├── dashboard/             # Redirect to home
├── shared/                # Storage, tabs, bookmarks, folder index scan, news adapters
├── scripts/               # lint + build (Node, no dependencies)
├── tests/                 # node --test suite (no dependencies)
├── icons/                 # Extension icons (16–128)
├── assets/                # In-app branding (logo)
├── PRIVACY.md             # Privacy policy
├── STORE_LISTING.md       # Chrome Web Store draft copy
└── RELEASE_CHECKLIST.md   # Manual QA before publish

News sources

Providers are adapters behind one normalized headline interface (shared/newsProviders.js). A provider only appears as usable when an official, public, key-free feed has been verified.

Operational sources — selectable in Settings, BBC News on by default:

Provider Feed host Topics
BBC News feeds.bbci.co.uk Top, U.S. & Canada, World, Politics (UK), Business, Technology, Science, Health
NPR feeds.npr.org Top, U.S., World, Politics, Business, Technology, Science, Health
The Guardian www.theguardian.com/*/rss Top, U.S., World, Politics (US), Business, Technology, Science, Health & society

Additional sources requiring access — listed beneath the operational ones in Settings, permanently disabled, never counted as a selection, and never requested over the network:

Provider Note
Reuters Official public feeds are unavailable. Future support may use licensed Reuters API access or an authenticated Reuters RSS feed.
Associated Press Official public feeds are unavailable. Future support may use the licensed AP Media API or another authenticated AP feed.

Tab Stack does not use unofficial mirrors or scrape publisher websites. Both provider definitions are preserved so either can be enabled later if suitable API or authenticated feed access is obtained. Stored settings that still name Reuters or AP are migrated to the working defaults on load.

Development

npm run lint     # syntax, import graph, manifest and host-permission checks
npm test         # node --test suite
npm run build    # dist/ + tab-stack-<version>.zip

No dependencies are installed; Node 20+ is all that is required.

Privacy

See PRIVACY.md. Linked folders never upload data; Tab Stack does not read file contents.

Chrome Web Store

See STORE_LISTING.md and RELEASE_CHECKLIST.md.

License

MIT — see LICENSE.

About

Local-first Chrome extension: save tab sessions, bookmarks, and download context by project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages