CLI reference
tama install plan
Shows the archive root and the target paths for every enforcement level without installing anything.
#Invocation
tama install plan [--json] [--git-hooks-path <path>] [--home <path>]
--git-hooks-path supplies the user-global Git target shown in the plan. --home resolves home-relative agent, editor, and Git paths. Without either option, Tama uses the configured global core.hooksPath and HOME. --json selects the structured level plan.
#Output and state
Text mode reports agent/app, editor, MCP, user-global Git, repository Git, and OS-level posture. Under the user-global Git line it names each managed hook (pre-commit, pre-push) with its path and what it holds: managed (Tama's dispatcher is in place), held aside (the dispatcher sits at <name>.tama-disabled; the line says whether a bypass is recorded, and with none recorded that no re-enable restores it), foreign (another program's hook is in place, named by its first statement), unreadable: <cause> (a hook is in place that the process cannot read, so whether it is Tama's dispatcher cannot be told) or absent. A held, foreign or unreadable pre-push means the push-time formatting gate is not known to run. JSON mode returns archiveRoot and the six level records; levels.user-global-git.dispatcherStates lists the hooks with hook, path, state, heldAt, bypassRecorded and inPlace, and is empty when no hooks path is configured. The command does not create directories, write configuration, or activate hooks. The real test is tests/install-plan/dispatcher_states.rs (cargo test -p tama-cli --test install_plan_dispatcher_states).
Text mode lists every declared native harness and its configuration target from the same levels.agent-app.runtimeTargets.harnessConfigs map returned by JSON mode, including Kimi and Devin. These are target declarations, not observations of installation or enforcement. Use provider configuration and coverage to inspect wiring; native execution is still required to establish enforcement.
#Refusals and failures
There are no command-specific refusals. A missing global Git configuration is represented as not configured; operating-system policy remains outside Tama. A declared native adapter is not labeled unsupported merely because the text renderer has no provider-specific description.
Return to the complete CLI command tree.