Project Config Reference

A project's amf.json (repo root — see Configuration) is meant to be committed: it's how a team shares presets, sessions, hooks, and plan-interview questions across everyone working in the repo, layered on top of each person's own global ~/.config/amf/config.json. This page is the field reference for what it can hold.

KeyHoldsEdit viaMerge with global
custom_sessionsDev servers or other persistent commands offered in the s session pickerConfig wizardProject appends; a name collision lets the project entry win
feature_presetsNamed create-feature templates (agent, mode, branch prefix, plan mode, review, Chrome)Config wizardSame append/override-by-name rule
lifecycle_hookson_start / on_stop / on_worktree_created scripts, optionally prompting the user with options firstConfig wizardEach of the three hooks independently overrides its global counterpart when set
keybindingsRemap a dashboard action to a different keyConfig wizardProject overrides global per action
allowed_agentsRestrict which harnesses this project offersConfig wizardProject replaces the whole list when set
plan_questionsExtra plan-interview questions layered onto the built-in bankConfig wizardMerged by stable ID: project wins on collision, appends otherwise
skip_builtin_questionsDrop AMF's built-in plan questions, keeping only configured onesHand-editProject overrides global when explicitly set
prompt_templatesReusable prompt-library templatesPrompt library (L) exportMerged by name: project wins on collision
prompt_overridesProject-scope headless AI prompt overridesPrompt-override manager (E)Project-only — never inherited from global
final_review_check_commandA build/test command run when finishing a final reviewHand-editProject overrides global when set
review_memory_pathPath to the review-findings memory docHand-editProject overrides global when set
review_prompt_budget_tokensToken ceiling before batched review kicks inHand-editProject overrides global when set

The config wizard (Ctrl+Space, then c) covers everything marked "Config wizard" above — see Configuration for how to open it and for the amf:configure family of skills that can edit these on your behalf. Everything marked "Hand-edit" has no wizard step yet; edit amf.json directly.

A field with no entry in the project's amf.json simply inherits the global value — an empty project config never overrides anything.