Octotree
Browser extension (Chrome, Firefox, Opera and Safari) to show a code tree on GitHub. Awesome for exploring project source without having to pull every single repository to your machine. Features:
- Easy-to-navigate code tree, just like in IDEs
- Fast browsing with pjax
- Support private repositories (see instructions)
- Support GitHub Enterprise (Chrome and Opera only, see instructions)
Install on Chrome, Firefox and Opera
- Install Octotree from Chrome Web Store, Mozilla Add-ons Store or Opera Add-ons Store
- Navigate to any GitHub repository (or just refresh this page as an example)
- The code tree should show on the left-hand side of the screen
Note: to configure Octotree for GitHub Enterprise, see instructions
Install on Safari
Octotree is not available on the Safari gallery. You have to build from source. Download this repo and run the following command:
Find the extension folder in tmp/safari
. Follow Apple instructions to install the extension to your browser.
Install from prebuilt packages (all browsers)
Prebuilt packages are available in the dist folder. For security reason, only download Octotree from this location.
Note: Firefox 43+ requires add-ons to be signed. Therefore, you should install Octotree from the Mozilla store. For some reason if you want to install the prebuilt package instead, you have to disable sign-check.
Settings
Access Token
Note for the paranoids (like me!): Octotree stores access tokens in your browser local storage and never transmits it anywhere.
GitHub
Octotree uses GitHub API to retrieve repository metadata. By default, it makes unauthenticated requests to the GitHub API. However, there are two situations when requests must be authenticated:
- You access a private repository
- You exceed the rate limit of unauthenticated requests
When that happens, Octotree will ask for your GitHub personal access token. If you don't already have one, create one, then copy and paste it into the textbox. Note that the minimal scopes that should be granted are public_repo
and repo
(if you need access to private repositories).
Enterprise URLs
By default, Octotree only works on github.com
. To support enterprise version (Chrome and Opera only), you must grant Octotree sufficient permissions. Follow these steps to do so:
- Go to any GitHub repo
- Open the Octotree settings panel
- Fill in the GitHub Enterprise URLs textbox, one URL per line
- Click Save and accept the permission prompt
- Navigate to your GitHub Enterprise site
- You might be asked to create an access token
Others
- Hotkeys: Octotree uses keymaster to register hotkeys. Check out the supported keys.
- Remember sidebar visibility: if checked, show or hide Octotree based on its last visibility.
- Show in non-code pages: if checked, allow Octotree to show in non-code pages such as Issues and Pull Requests.
- Load entire tree at once: if checked, load and render the entire code tree at once. To avoid long loading, this should be unchecked if you frequently work with very large repos.
- Show only pull request changes (new!): if checked and in "Pull requests" page, only show the change set of the pull request.
Contribution
- Install node 8 or above
- Run
npm install
to install dependencies - Run
npm run build
to watch code changes and build unpacked extensions - Install unpacked extentions in the
tmp
folder (check specific browser instructions) - Please follow existing style for new code
Credits
- @crashbell for helping with GitLab and others
- @Ephemera for fixing many bugs
- @athaeryn and @letunglam for helping with UI design
- And many other people who submit bug fixes and reports
Donate
Loving Octotree? Donating to help us continue working on it.