$ tebako info
tebako 0.15.9
platform macos-arm64
store ~/.tebako
runtimes 1 · payloads 3 · shims 2 · registries 2
GUIDES · 13
info & inspect.
Two read-only families: tebako info reports on the store and its contents; tebako inspect reads a single artifact. Neither mutates anything; --remote is the only flag that reaches the network.
tebako info: six topics.
system is the default — tool version, platform, store location, counts
(representative):
The runtimes topic lists the cached interpreters:
$ tebako info runtimes
ruby-3.3-3.3.7-macos-arm64
exe + env image · 142 MB
origin: tebako-runtime-ruby releases
The payloads topic lists what is installed:
$ tebako info payloads
metanorma 1.2.3 tfs:github:tebako-packages/metanorma
hello 0.1.0 tfs:github:tamatebako/hello
The shims topic lists the registered commands:
$ tebako info shims
metanorma -> tebako-shim payload metanorma
hello -> tebako-shim payload hello
The registries topic shows freshness at a glance:
$ tebako info registries
tfs:github:tebako-packages/metanorma fetched 3 h ago fresh
tfs:github:tamatebako/hello fetched 26 h ago stale
The store topic shows disk usage by section:
$ tebako info store
runtimes 142 MB
payloads 40 MB
registries 12 KB
total 182 MB ~/.tebako
All output blocks on this page are representative.
--remote and --json.
--remote affects two topics: runtimes adds what the runtime factory
publishes (the newest five), and payloads adds the catalogs of your
registries. Everything else stays local.
--json emits machine-readable documents that carry "info_schema": 1
so scripts can pin the shape:
$ tebako info runtimes --json | jq -r '.runtimes[].version'
3.3.7
tebako inspect: one artifact, auto-detected.
tebako inspect auto-detects its target — a package or a bare image:
$ tebako inspect ./myapp # package: trailer present
$ tebako inspect ./acme-fonts-2.1.0.tfs # bare image: no trailer
$ tebako inspect --manifest ./acme-fonts-2.1.0.tfs
$ tebako inspect --provides --requires ./myapp
$ tebako inspect --platforms ./myapp
$ tebako inspect --slot 1 ./myapp
$ tebako inspect --json ./myapp
--manifest prints the in-image manifest; --provides and --requires
the capability and dependency declarations; --platforms the platform
matrix; --slot N reads one trailer slot of a package. --verify and
--require-signed are covered in
Verify integrity.
The contract card.
Ask for the contract card with --contract:
$ tebako inspect --contract ./myapp
era v2
contract runtime declares 2 · loader accepts 1..2
mount_root /__tfs__
abi ruby-3.3 · macos-arm64
trust signed · press-local key 4F2A…9C · trusted
verdict OK — this loader can run this package
-
era— the packaging generation the artifact belongs to. -
contract— the handoff semantics the runtime declares, against what this loader accepts. -
mount_root— where the env image lands inside the process’s filesystem view. -
abi— the interpreter ABI line and platform string that native-extension payloads are matched against. -
trust— signature state, and whether the signing key is in your trusted set. -
verdict— the bottom line: runnable, or a named refusal.
Trailer surgery: tebako-pkg info.
tebako-pkg info dumps slots, offsets, and the trailer itself:
$ tebako-pkg info --full ./myapp
The audience is people building or repairing packages, not running them.
--slot N narrows to one slot, --depth N how deep nested payloads are
recursed, --json makes it scriptable.
Look inside an image — without extracting.
The tfs CLI reads an image without extracting it:
$ tfs tree ./acme-fonts-2.1.0.tfs
$ tfs ls -l ./acme-fonts-2.1.0.tfs /AcmeSans-Regular.otf
$ tfs cat ./acme-fonts-2.1.0.tfs /__tpkg__/manifest.yaml
$ tfs find ./acme-fonts-2.1.0.tfs Bold
tfs exec runs a command with the image mounted (Unix only), and tfs
extract copies files out when you truly need them on disk. There is no
general FUSE mount — tfs mount exists only for encrypted images.