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:

  1. 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-workspace aren't accepted. You can change it later in Settings.
  2. 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

  1. The first time, the popup shows Choose project folder. It opens Bitling's options page, where Choose folder… lets you pick where projects go.
  2. Back on the problem page, click the Bitling icon again. Pick a language if you want a different one.
  3. Click Create Project. If Chrome asks whether Bitling may edit files in that folder, choose Allow.
  4. 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.

  1. 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.
  2. 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.
  3. 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