Skip to content

decryptable/octonext

Repository files navigation

OctoNext — a file-tree sidebar for GitHub


A file-tree sidebar for GitHub. Browse any repo without page reloads. Manifest V3, TypeScript, Bun — runs in your browser, no backend and no telemetry.


CI Version Manifest V3 TypeScript Bun No telemetry


Themes Icon packs Fonts Max file Tests


Install · Features · Themes · Architecture · Contributing · Support


Why OctoNext

GitHub reloads the whole page every time you open a folder. OctoNext puts a collapsible file tree next to the page instead, loading folders on demand from the GitHub REST API. Navigate, search, download, and review PRs in one tab.

You only need to sign in for private repos: paste a personal access token on the options page. It is checked against GitHub, then stored in chrome.storage and sent nowhere else.

Project pulse

Stars over time and commit activity, not a wall of count badges.


Features
Area What you get
File tree Collapsible sidebar on github.com repo pages, lazy-loaded folders, expand all / collapse all, keyboard navigation, custom scrollbars
Icons Two full file-icon packs — Material Icon Theme and Vira — plus a minimal pack
Themes 22 themes including 5 animated ones — see Themes — with live preview in settings
Fonts 8 bundled coding fonts or system stacks, with live preview and adjustable size
Search Instant fuzzy file filtering with match highlighting
Pull requests PR panel with stats summary, searchable + paginated changed files, and review comments — all without opening the diff page
Download Checkbox selection; a single file downloads directly, multiple files or folders become a path-preserving ZIP
Sizes Total repo size in the header, plus per-folder and per-file sizes
Bookmarks Save repositories locally and jump back any time
Layout Dock left or right, resize, pin open, drag the toggle to any height
Enterprise GitHub Enterprise via per-domain opt-in (right-click the toolbar icon)
Pull request panel

Everything comes from the API, so you read a PR without leaving the sidebar:

  • Summary header — open / merged / closed / draft state, title, author, base ← head branches, and totals for changed files, additions, deletions, commits, and review comments.
  • Searchable changed files — type to filter with live match highlighting; results are cached in memory so filtering never re-fetches.
  • Pagination — large diffs page through in fixed chunks instead of one endless scroll, with an X–Y of N indicator.
  • Labels and reviewers — surfaced as chips right in the sidebar.
  • Jump to anything — click a file to scroll straight to its diff, or a comment to open it in context.
Install (from source)
bun install
bun run build      # outputs the unpacked extension to dist/
  • Chrome / Edge — open chrome://extensions, enable Developer mode, click Load unpacked, and select dist/.
  • Firefox — run bun run package and load release/octonext-firefox-vX.Y.Z.zip via about:debugging → This Firefox → Load Temporary Add-on.
Packaging for the stores
bun run package

Produces store-ready and self-distribution artifacts in release/:

Artifact Target
octonext-chrome-vX.Y.Z.zip Chrome Web Store (MV3, service worker)
octonext-chrome-vX.Y.Z.crx Signed CRX3 for direct Chrome install
octonext-firefox-vX.Y.Z.zip Firefox Add-ons upload
octonext-firefox-vX.Y.Z.xpi Installable Firefox package

The CRX is signed with a key in keys/octonext.pem, generated on first run and kept out of version control. Keep it safe to preserve a stable extension ID.

Development
bun run dev             # rebuild on change into dist/ (fast incremental)
bun run typecheck       # strict TypeScript checks
bun run test            # unit tests for the core logic
bun run lint:structure  # every file <=130 lines, no comments, kebab-case
bun run format          # Prettier

Structure rules, enforced in CI: no source file over 130 lines, no comments in src, kebab-case filenames. See scripts/check/rules.ts.

Themes

22 themes, switched live from the options page. The last five are animated — motion on folder toggles, clicks, ripples, and hovers.

Full theme list
Static Animated
Auto (system) Pixel
GitHub Light / Dark / Dark Dimmed Cute
One Dark Retro CRT
Dracula · Nord · Monokai Hacker
Solarized Light / Dark Synthwave
Gruvbox Dark · Tokyo Night
Monokai Pro · Ristretto · Octagon
Vira Teal · Vira Ocean

Privacy

No servers, no analytics, no tracking. The only requests go to the GitHub API for the repo you are viewing. Your token, if you set one, stays in chrome.storage and is sent only to GitHub.

Full privacy policy: decryptable.github.io/octonext

Tech stack

  • Bun — package manager, bundler, test runner, and asset pipeline
  • TypeScript (strict) — all source, no UI framework
  • material-icon-theme + Vira — two bundled VS Code file-icon packs
  • @fortawesome/* — UI icons
  • webextension-polyfill — cross-browser browser.* APIs

See ARCHITECTURE.md for the source map and data flow, and CONTRIBUTING.md to get involved.

Support

Free, and staying free. If it saves you time, you can tip:

Donate via Saweria

License

MIT © decryptable

About

A fast, clean code tree sidebar for GitHub with themes, file icons, search, bookmarks, PR navigation, and downloads.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Contributors