Profile Selection
Profiles provide built-in recipes. Supported profiles are go, node, and
rust.
Profile selection precedence is:
- explicit
--profile - config
profile - marker detection only when no config is loaded
shadowtree --profile go recipes
shadowtree --profile node --print build
shadowtree --profile rust --print check
profile = "go"
Marker Detection
When no config file is loaded, Shadowtree walks upward from the current directory and compares the nearest profile markers. The walk stops at the current repository root.
package.jsonselectsnode.go.modorgo.workselectsgo.Cargo.tomlselectsrust.- Same-directory precedence is Go, then Node, then Rust.
Configs that omit profile suppress detected built-ins. This preserves exact
configured recipe sets unless a config opts into a profile.
Inspecting Profiles
Use inspection commands to see exact built-ins for the current checkout:
shadowtree recipes
shadowtree --print test
shadowtree --print --expanded test
shadowtree --check --shell test
Profile-specific behavior: