tomato·bazeldocs v0 · latest
Docs/Reference/Modules/fastverk-app

fastverk-app

fastverk macOS app — menu-bar tray + settings + daemon-aware cred-helper, on the fvkit core

Latest0.0.2
Versions2
CategoryModules & tooling
MaintainersMatt Marshall
Registryhttps://registry.tbzl.dev/modules/fastverk-app/
Sourcegithub.com/fastverk/fastverk-app
MODULE.bazelstarlark
bazel_dep(name = "fastverk-app", version = "0.0.2")

View source & releases on GitHub ↗

[!IMPORTANT] This repository is retired. fastverk-app is developed in the fastverk/desktop ship vehicle, at fastverk-app/. Open issues and pull requests there.

The published module is unchanged — bazel_dep(name = "fastverk-app", version = "0.0.2") resolves exactly as before. This remote keeps its full history and every tag, including the ios-v* line, so existing registry entries and git_override pins stay valid.

Retired at 985a7a0, the commit the vehicle imported — nothing here is unimported. Background: Consolidation.

fastverk-app

The fastverk macOS desktop app and the daemon-aware Bazel credential helper.

Three crates, all gRPC clients of the fvd daemon, built on the fvkit core library:

  • fastverk (app/desktop) — the menu-bar app: a tao event loop hosting a tray-icon/muda status item. Menu actions talk to fvd over its Unix socket and surface results as macOS notifications.
  • fastverk-settings (app/settings) — the eframe/egui settings window (Status / Connections / Volumes / Repos / Bazelrc / Maintenance), launched by the tray as a separate process.
  • fastverk-cred-helper (tools/credhelper) — the universal Bazel credential helper. Resolves auth headers for a request host from the connection registry + OS keychain (fvkit::connections), replacing the per-service gh-cred-helper.sh / glab shell scripts.

tools/macos packages the binaries into a signed .app + .dmg.

Building

Bazel is the primary build:

CARGO_BAZEL_REPIN=1 bazel build //...
bazel test //...

The first build fetches the fvkit module (v0.0.1) from the fastverk Bazel registry — see .bazelrc.

The fvkit dependency

fvkit is consumed as a Bazel module (@fvkit//app/core:fvkit, @fvkit//app/daemon:fvd), declared in MODULE.bazel via bazel_dep(name = "fvkit", version = "0.0.1"). The crate extension uses from_specs (third-party crates only) rather than from_cargo, so fvkit is not double-managed across the module boundary — the same pattern wave uses for forge.

The Cargo workspace’s fvkit = { path = "../fvkit/app/core" } dep is for cargo / IDE iteration only; it resolves when a sibling ../fvkit checkout is present next to this repo. Bazel never uses it.

macOS bundle

bazel build //tools/macos:fastverk_dmg   # the installer .dmg
bazel build //tools/macos:fastverk_app   # just the bundled .app (tar)

These are manual + local (non-hermetic codesign / hdiutil), so the //... wildcard skips them; build them explicitly.

The fv CLI (from the fastverk meta-repo) is intentionally not bundled yet — it has no release artifact. See the TODO in tools/macos/BUILD.bazel.

Conformance#

2 findings across 2 invariants. 8 contested atoms. See how gating works or the full report.

D2 a non-dev register_toolchains propagates to every transitive consumer why this matters ↗
versiontoolchain
0.0.2@rust_toolchains//:all
D3 a repo name CHOSEN on a SHARED extension must be namespaced why this matters ↗
repoextension
crates@rules_rust//crate_universe:extension.bzl

Contested atoms

Third-party modules where this module resolves a different version than others do. Not a violation of anything this module did — it is the actionable form of a registry-level convergence finding, and the sentence a maintainer can act on.

AtomResolved hereElsewhere
apple_support 1.24.2 2.2.0 ×1
bazel_skylib 1.8.2 1.9.0 ×2
nlohmann_json 3.6.1 3.12.0.bcr.1 ×1
protobuf 33.4 34.0.bcr.1 ×2
rules_jvm_external 6.7 6.8 ×4
rules_python 1.7.0 2.0.1 ×1
rules_swift 3.1.2 3.6.1 ×1
upb 0.0.0-20220923-a547704 0.0.0-20230516-61a97ef ×1

Dependencies#

fastverk-app in the registry graph — what it depends on (left) and what depends on it (right).

Depends on

platforms1.0.0bazel_skylib1.8.2rules_rust0.70.0protobuf33.4rules_pkg1.0.1fvkit0.0.2brand0.2.0rules_python1.7.0rules_shell0.6.1dev

Versions#

2 published versions, newest first. Each resolves to an immutable, integrity-checked archive.

VersionIntegrity (sha256)Source archive
0.0.2 latest bgrp6eFT48lTyPz+… tag archive ↗
0.0.1 tfB4uRwI1TJCNPqA… tag archive ↗

← All modules