Wally
Fumablox reads wally.toml and wally.lock. It does not replace Wally.
It consumes what Wally already wrote.
Luau analyzer Wally resolver (Wally)
│ │
│ wally.toml
│ wally.lock
└──────────┬────────────┘
│
Package graph
│
API docs · graphs · searchPackages stay on wally.run
Fumablox does not copy a dependency’s documentation into your site. Promise.new links to evaera/promise@3.1.0 on wally.run. The model still knows the package for search, graphs, and validation.
What it reads
If wally.toml sits next to fumablox.toml, it is picked up automatically.
[package]
name = "example/library"
version = "0.1.0"
realm = "shared"
[dependencies]
Promise = "evaera/promise@3.1.0"
Roact = "roblox/roact@1.4.4"Exact versions come from wally.lock when present. Direct vs transitive is taken from the manifest vs the lockfile. Duplicate versions (same package, two locked versions) become a fumablox check warning.
On the site
Generated API nav includes a Dependencies page: table, package graph, and which of your modules require each package.
local Promise = require(ReplicatedStorage.Packages.Promise)That is not your API. Search still finds it:
Promise
evaera/promise@3.1.0
External dependencyConfig
wallyFile = "wally.toml"Omit it to auto-detect. Packages under Packages/ and _Index/ stay excluded from Luau parsing — Wally owns those trees.
Not in this release
No fumablox publish, no second registry, no download-and-reparse of dependency source. Those can sit on the same IR later. Wally remains the resolver.