tomato·bazeldocs v0 · latest
Docs/Reference/Modules/fvkit

fvkit

fastverk core/runtime — fvkit platform library + fvd daemon + gRPC contract

Latest0.0.9
Versions9
CategoryModules & tooling
MaintainersMatt Marshall
Registryhttps://registry.tbzl.dev/modules/fvkit/
Sourcegithub.com/fastverk/fvkit
MODULE.bazelstarlark
bazel_dep(name = "fvkit", version = "0.0.9")

View source & releases on GitHub ↗

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

The published module is unchanged — bazel_dep(name = "fvkit", version = "0.0.8") resolves exactly as before. This remote keeps its full history and every tag, so existing registry entries and git_override pins stay valid.

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

fvkit

The fastverk core/runtime module: the platform-abstracted machinery the fastverk app is built on.

  • fvkit (app/core, lib) — managed filesystem volumes (repos + bazel caches), ownership of the user’s ~/.bazelrc, bazelisk/bazel provisioning, authenticated “connections” (host → keychain-backed token) with OAuth, periodic maintenance, and self-update. Per-OS work lives behind a platform boundary; macOS is implemented first, other targets are stubs.
  • fvd (app/daemon, bin) — an unprivileged, user-level gRPC server over a Unix-domain socket that wraps fvkit and is the single owner of mutable state. The menu-bar GUI, the fv CLI, and the Bazel credential helper are clients.

The gRPC + DTO contract is fastverk.v1, defined under proto/fastverk/v1 and compiled by app/core/build.rs (tonic-build). The build script reaches the .proto sources relative to its manifest dir (../../proto), so the same bindings come out of cargo build and bazel build.

Build

Dual-built with Cargo and Bazel.

# Cargo
cargo build --workspace

# Bazel (resolves module deps from the fastverk bazel-registry + BCR; the
# crate hub is repinned from Cargo.lock).
CARGO_BAZEL_REPIN=1 bazel build //...
bazel test //...

The proto is compiled by build.rs under a cargo_build_script, so the only Bazel codegen dependency is protobuf (for protoc).

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.9@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#

fvkit 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_shell0.6.1dev

Used by (1 in the registry)

Versions#

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

VersionIntegrity (sha256)Source archive
0.0.9 latest KWsif8+Ezw+jJABc… tag archive ↗
0.0.8 mMFYZe2CsIJgKsOw… tag archive ↗
0.0.7 dqgqFrxO8NWcHL4P… tag archive ↗
0.0.6 Ue/C9bMm1PuhcEnH… tag archive ↗
0.0.5 F3VXp6b6ywFDYd3t… tag archive ↗
0.0.4 eEhS8r5AYLIsbUbu… tag archive ↗
0.0.3 T9FX+LLokiDaFbVL… tag archive ↗
0.0.2 d8lqHpMlzRvPNLQr… tag archive ↗
0.0.1 LEPt4HSP0EWXIdKO… tag archive ↗

← All modules