Follow and diagnose
Live output with search and an errors-only view, progress and ETA, then a Toaster-style summary, sstate reuse, warnings, timings and a comparison with the previous run. A failed build starts with the diagnosis of its real cause.
A web dashboard and a terminal cockpit on one build service: follow builds live, find the real cause of a failure, browse recipes by layer, check SBOMs and vulnerabilities for the CRA, and create your own distribution, all from the same place.


Describe how the project builds once: the guided setup proposes the profile from the project folder. From then on builds, logs, the image explorer, SBOM checks, Studio and the migration assistant work the same, whatever runs BitBake.
source oe-init-build-envkas shell kas.yml -c …kas-container shell -c …docker run -i … bash -c …docker exec -i …YML=board.yml ./run_build.sh buildA launcher script needs to forward shell -c "<command>", keep standard input open and keep the build folder on the machine. Bitloom runs next to your build, or inside your build container with bitloom.pyz: one file to mount, no image to rebuild. Where your build runs →
bitloom --web opens the dashboard on the build service. Close the tab, open it on another machine through an SSH tunnel, or switch to the terminal: the queue, the history and the running build stay where they are.
Live output with search and an errors-only view, progress and ETA, then a Toaster-style summary, sstate reuse, warnings, timings and a comparison with the previous run. A failed build starts with the diagnosis of its real cause.
Browse what you built, file by file, with the package and recipe behind each one and what pulls it in, see what starts at boot, what listens on the network and where the space goes, and read the board's device tree. Which recipe installs… answers for any file; Change it opens the append, starting from the file as it is on the device.
The target field lists the image recipes in your layers, the kas target and what is already built first. Any recipe, or several, can still be typed.
Every layer with its counts, folders that open on demand, filters for recipes, images, appends, classes and kas files, and a search that keeps the structure.
SBOM quality gauges, vulnerabilities from sbom-cve-check, cve-check and Grype with Markdown, HTML, CSV, JSON and SARIF exports, release support and CRA readiness.
Pick what to create, then walk through it: every option says what it means, the preview shows where the files go and what they contain, the review lists exactly what Create will do, and the last screen offers what comes next.
Every rule of the official migration guides checked on your files, the mechanical changes applied with a diff and undo, and the new kas file written next to the old one with its own profile. The current build keeps working while you try the new one.
Completion from your own layers (variables with their documentation, classes, overrides, recipes, features), and the mistakes a parse would hit shown as you type. bitloom --lint does the same in CI.
See how far your layers follow the Yocto advice, where they do not and how to fix it. Switch rules off, change their weight, add your company's own, and fail CI with bitloom --practices.
Point it at a folder: kas files, Poky checkouts and YML=… ./run_kas.sh build launcher scripts become profiles, one per product, with the build folder found for you.

YML=… ./run_kas.sh launcher profile on Wrynose, then its summary.Bitloom is inspired by the idea behind yoctui: bringing everyday Yocto and BitBake work into a terminal interface. Thank you to 0xbadcaffe, the author of yoctui, for the inspiration and for sharing the project with the community. Bitloom has its own implementation and interface.
Browse metadata, queue work and inspect evidence without losing the context of your build profile.
Independent reconnectable build service, serial queue, original-profile retries, task progress, persistent history, SDKs and per-recipe tasks.
Expandable layer tree, source previews and content search with file/line locations across recipes, appends, classes and YAML. Ask BitBake about active layers, overlays and dependencies.
Modify, build, finish and upgrade recipes. Deploy to devices. Hand off to devshell, kernel menuconfig or QEMU.
Streaming output, contextual task-log diagnosis, error filters, warning groups and exportable evidence reports.
Inspect size and age. Analyze reported cache hit rates. Audit downloads. Preview concrete prune plans and recheck each file before deletion.
Resolve and compare environment snapshots, browse dependency edges, inspect signatures and buildhistory changes.
Host, kas, fresh or existing containers and kas-container. Named profiles preserve the command's configuration. Browse and edit runtime-only files; export binary artifacts with SHA-256 verification.
Let a build finish, request a graceful stop where supported, or force termination and select recipe recovery.
Repository versions, layer-series checks, package/architecture manifest comparisons, image artifacts, licenses and command entry points for tests and security classes.
F10 connects sixteen evidence views, layer/recipe creation, profile clones, IDE exports, offline verification and real device jobs.
Numbered sections, single-letter actions on every button, nano editor keys and a built-in reference. All keys.
bitloom --web: the same build service in the browser, with live progress, toasts, summaries and a command palette. Web guide.
Release-aware SBOM quality, VEX, CRA readiness and explained SBOM settings for Scarthgap and Wrynose. Compliance guide.
Create your own distribution, machines, images, recipes and layers with explained, release-aware forms. Studio guide.
Open folders with automatic detection, create pinned Scarthgap/Wrynose projects, clone from Git; every project is a profile. Projects guide.
sbom-cve-check, cve-check and Grype findings with severity, reviews, CSV and CI gates. Vulnerabilities.
Headless CI matrices with JUnit, the build service as a system service, shared profiles, NFS and setup checks, image matrix, device fleet and console builds. CI and build servers.
No matching capability. Try a broader term.
Explore all 82 built-in operations →Build and launch Bitloom, configure kas-container, create layers and recipes, develop with devtool and verify every implemented command. Each case lists prerequisites, inputs and expected evidence; optional hardware and classes are identified explicitly.
Sixteen connected views implement all fourteen researched workflows: variable origins, recipe and container files, rebuild signatures, task failures, IDE SDKs, image regressions, measured performance, kas/multiconfig, offline checks, CVE/SPDX, kernel and upgrade review, boards and shutdown evidence.
Preview complete licensed CMake, Meson, Make, Python or Rust fixtures, create and register a layer, clone a profile, capture a baseline and compare after rebuilding. Optional tasks are checked against the selected release. Real device operations retain job/transcript evidence; missing equipment and reports remain unavailable.
Open the Developer guide Run all fourteen experiments → Research and sources →

Download your version from GitHub Releases. Debian and Ubuntu users can install the .deb with bundled Python dependencies; other Linux distributions and WSL2 can use the source archive or wheel. Python 3.10+ is required.
sudo apt install ./bitloom_1.2.3_all.deb
bitloom --demoSource archive, wheel, checksum verification and removal instructions
The setup script creates a virtual environment, installs Bitloom and prepares two sample workspaces (Scarthgap and Wrynose). Open them in the browser or in the terminal; the samples hold metadata only, so nothing claims a real build.
In your own project, bitloom --web opens the guided setup on the folder it starts in. Requires Python 3.10+ on Linux or WSL2. Read the quickstart.
./setup-demo.sh --no-launch
.venv/bin/bitloom --web --demo # the dashboard
.venv/bin/bitloom --demo # the terminal UIWheel build, local kas test and reconnect instructions ↗
Source an init script automatically or run from your existing environment. Every target is passed as a quoted argument.
{
"name": "host",
"root": "/work/poky",
"build_dir": "build-qemu",
"mode": "host",
"init_script": "oe-init-build-env"
}Full schema and path rules: user guide · Copy-ready profiles: profile examples
New file opens an editor with recipe and .bbappend templates in the selected host or container runtime. Parent directories are created, and existing files are preserved. Local metadata changes refresh every five seconds; open runtime directory listings refresh every fifteen seconds while idle.
File creation and refresh guide

Choose a profile, enter a target, press F2 and filter the action list. Queue a normal build, compile task, dry run or SDK. The history row records the original profile and exact exit result.
Select the failed history row. Toggle Errors only or search a phrase with context. Open Task logs for the recipe's own compile/fetch log. Export the complete original log or open a concise build report.
Find a recipe in Layers & recipes, choose Modify, and use devtool build while editing its sources. Finish into the selected layer when ready. Interactive commands use your real terminal.
Let finish leaves the build running. Graceful stop sends one SIGINT to a host client or a newly managed container and waits. Force terminates and offers clean for observed active recipes. Owned kas-container force stops record the exact container result; external wrappers require server verification before recovery.
Scan the cache, filter files, select an age and review the concrete prune plan. No automatic deletion. Externally shared caches require coordination. Fetch tasks validate recipe sources with BitBake's checksums.
Resolve two environment snapshots for a target and compare their values. Load dependency graphs from host or container and inspect reverse dependencies. Inspect buildhistory diffs and local repository versions. Keep release builds in separate profiles/directories.
Explain rebuild signatures, trace an image file to its recipe and packagegroup, inspect runtime preflight, compare build snapshots and export redacted reproducibility references. Review source changes before devtool finish/reset. Advisory locks coordinate cooperating cache users; unproven references never trigger automatic removal.
Read inputs, workflow details and practical limits

Press F7 to preview Bitloom, Soft Slate, Linen, Nord, Dracula, Tokyo Night, Catppuccin Mocha, Gruvbox, Solarized Dark, Ocean, Forest, Ember, Paper or High Contrast. Save restores the palette next session; Cancel restores your previous choice. Light and dark themes adapt tables, dialogs, logs and editor backgrounds.

These captures come from the running Textual app using its Pilot driver. They show a sample workspace, not a claimed successful image build. Click a screenshot to enlarge.

Task-oriented guides with screenshots, a generated command and keyboard reference, and the evidence of real builds. Every page has search (/), a table of contents and light and dark themes.
Install, connect your project, run your first build.
⇆kas, containers, your launcher script, or BitBake on the machine.
▦What is in the image, which recipe installs a file, how to change it.
◫Every section, the target picker, notifications and the API.
⌂kas files, launcher scripts, Poky checkouts; new projects and clones.
▤Profiles and runtimes, logs, caches, analysis, troubleshooting.
⚖SBOM quality, vulnerabilities and exports, CRA readiness.
✦Your own layer, distribution, machine, image or recipe.
⇪Scarthgap to Wrynose through the official guides, with safe fixes.
✎Completion, documentation and live problems for recipes and configuration.
✓Yocto best practices on your project, tuned and extended with your rules.
⇄Headless CI matrix, build service as a service, shared profiles.
⚙Variable origins, signatures, devtool, SDK and IDE setup.
⌨Every key of the TUI and the dashboard.
≡All 82 operations, their inputs and release support.
Unit/UI tests cover command quoting, queueing, history, cancellation, metadata, cache boundaries and interface interaction. On 2026-10-10, core-image-minimal for qemux86-64 completed through Runner and kas-container in 57m 10s. All 4,064 tasks succeeded; the rootfs archive and eight post-build runtime probes were verified.

Class-dependent actions need matching release configuration. Cache inventories and dependency graphs are bounded. Layer compatibility parsing is advisory; BitBake metadata parsing is authoritative.