Docs

Sites and templates

Where Bitling can pick up a problem, and the kinds of project it can write for you.

Practice sites

Bitling reads public practice pages. Open the popup on any other page and it says there's nothing to hatch there. It never captures proctored or employer assessment pages; it stops and tells you so.

Practice sites and what Bitling reads from each
Site Status What Bitling picks up
LeetCode Supported Problem pages: statement, examples, constraints, tags, difficulty, and starter code for each language, including the editor language you last picked there.
HackerRank Supported Public and community challenges: statement, constraints, sample input and output, and the function stub.
Codility Supported Public Developer Training lessons and tasks only. Hiring tests are refused.
Coderbyte Supported Traditional coding challenges.
Codewars Early Kata description and train pages: rank, tags, description, and the language you're viewing. On a train page, Bitling also reads what the Solution and Sample Tests editors show, which may include your own edits or saved solution: an empty starter becomes the stub, anything with code in it stays a comment, and the sample tests are saved as a commented reference file that never runs. Nothing leaves your computer.
Exercism Early Public exercise overview pages. Exercism keeps stubs and tests behind sign-in and its CLI. If you already downloaded a Python or Go exercise with the exercism download command and create the project through the Bitling app with the Python / pytest or Go / go test template, its stub and tests are copied, read-only, from your Exercism workspace; Bitling never runs the CLI. Otherwise the project has a test file with a placeholder test but no example assertions; add your own.
CodeSignal Planned Not captured yet. The extension already has access so it can say so on the page.

Early sites work but are still being polished. Bitling isn't affiliated with any of these sites.

Project templates

A template is one language plus its build tool and test framework. Pick one in the popup's Language list before you create a project, and Bitling remembers your pick for each site. Kotlin is the default. Your pick for a site always comes first. Until you've made one there, and with the desktop app, the popup starts from the language the site's editor is set to (when Bitling has a template for it), using the default template for that language from the app's Settings.

Built-in project templates
Template Your code and tests Run tests with
Kotlin / Gradle / JUnit 5
kotlin-gradle-junit
src/main/kotlin/Solution.kt
src/test/kotlin/SolutionTest.kt
gradle test
Needs: A JDK and Gradle
Python / pytest
python-pytest
solution.py
test_solution.py
python -m pytest
Needs: Python with pytest installed
Java / Gradle / JUnit 5
java-gradle-junit
src/main/java/Solution.java
src/test/java/SolutionTest.java
gradle test
Needs: A JDK and Gradle
Rust / Cargo
rust-cargo
src/lib.rs
tests/solution.rs
cargo test
Needs: A Rust toolchain (cargo)
Go / go test
go-standard
solution.go
solution_test.go
go test ./...
Needs: Go 1.21 or newer
TypeScript / Vitest
typescript-node-vitest
src/solution.ts
test/solution.test.ts
npm install, then npm test
Needs: Node.js and npm
JavaScript / Vitest
javascript-node-vitest
src/solution.js
test/solution.test.js
npm install, then npm test
Needs: Node.js and npm

Every project also gets a README.md with run instructions, problem.html (a clean offline copy of the problem), and a .practice/ folder. Build files such as build.gradle.kts, Cargo.toml, go.mod, or package.json are yours to edit. See Refresh and your files for who owns what.

Browsers and operating systems

  • The extension is built for Chrome. On its own, it writes projects with Chrome's folder access, so it needs a browser that supports choosing a folder for a site or extension to edit.
  • The desktop app is for macOS 10.15 or later (Apple silicon Macs only for now), Windows, and Linux. It registers itself with Chrome, Chromium, Microsoft Edge, and Brave.
  • It can open projects in editors it finds on your computer, such as IntelliJ IDEA, Android Studio, VS Code, and Cursor, as well as your terminal and file manager.