Docs
Getting started
Install the extension, optionally add the desktop app, and hatch your first project. It takes a few minutes.
1. Install the Chrome extension
The extension is the part you'll use on practice sites. It isn't in the Chrome Web Store yet; the install link will be on the home page when it is.
Chrome will show two permissions when you add it: storage and nativeMessaging, plus access to the
practice sites Bitling works with. The privacy page explains each one.
Building it yourself? The repository's README covers building the extension and loading it unpacked from
chrome://extensions with Developer mode on.
2. Add the desktop app (optional)
The extension works on its own. The desktop app adds a local library of your problems, writes projects without asking for folder access each time, and opens them in your editor or terminal in one click.
Installers for macOS (10.15 or later, Apple silicon Macs only for now), Windows, and Linux (AppImage and deb) are being prepared, and download links will appear on the home page when they're ready.
When you open the app for the first time:
-
Choose your project folder: a dedicated folder you own, like the suggested
~/Code/Practice. Your home folder itself, the top of a drive, and Bitling's own~/.practice-workspacearen't accepted. You can change it later in Settings. - That's it for setup. Each time the app starts, it also registers itself with Chrome, Chromium, Edge, and Brave so the extension can find it. You don't need to keep the app window open afterwards.
3. Create your first project
Open a problem on a supported site, for example a LeetCode problem page, then click the Bitling icon in Chrome's toolbar. Opening the popup is what reads the problem; nothing is read before that.
With the extension on its own
- The first time, the popup shows Choose project folder. It opens Bitling's options page, where Choose folder… lets you pick where projects go.
- Back on the problem page, click the Bitling icon again. Pick a language if you want a different one.
- Click Create Project. If Chrome asks whether Bitling may edit files in that folder, choose Allow.
- You'll see Project hatched! From then on, Open Problem shows the saved copy of the problem in a new tab. Open the project folder in your editor to start.
With the desktop app
When the extension finds the desktop app, the popup offers the app's actions instead of the folder prompt.
- Under Open with, pick an editor (or a terminal), or keep Just create. When you pick an editor, Bitling remembers it for that language. When you reopen a project you already have, the default editor set in the app wins.
- Click the button. With an editor or terminal picked it reads Create + Open in that app: Bitling writes the project into your project folder and opens it there. With Just create it reads Create Project and only writes the project.
- Next time you open the popup on that problem, it offers Open in your editor, plus Terminal, Problem, and your file manager, along with when you last worked on it.
What you get
Each project lands in <project folder>/<site>/<problem>. With the default Kotlin template:
>_ ~/Code/Practice/leetcode/two-sum
├── README.md
├── problem.html
├── build.gradle.kts
├── settings.gradle.kts
├── src/
│ ├── main/kotlin/Solution.kt
│ └── test/kotlin/SolutionTest.kt
└── .practice/
Write your solution in Solution.kt and run the tests from your editor or with gradle test. Where
Bitling can read the problem's examples with confidence, they become tests; otherwise it leaves them documented instead of
guessing. Other languages are on Sites and templates.
Next steps
- Refresh and your files explains what Bitling can change later, and what it never touches.
- If the popup doesn't pick up the desktop app, see Troubleshooting.