Skip to main content

Module composer

Module composer 

Source
Expand description

slash_commands(), subagents(), subagent_cards(), forge_commands(), file_index(), respect_gitignore(): what the composer’s autocomplete triggers read, and the two sub-agent facts a record draws its section from.

Three of them are facts about a session - what the CLI advertised, and what its conversation dispatched - so the core holds them and these verbs read through it. The other three have no session in them at all: forge’s own command table and the file walk are data a view reads, and the walk’s ignore preference is the user’s own, which the core reads on the walk’s behalf.

The emoji set is not here. Which shortcodes exist and which a query selects is the typeahead’s own business, so it lives with the typeahead rather than being handed to it.

The tests here read the two session facts through a fixture that writes the core’s fields directly, so they pin the reads and not the keeping: whether the init frame and commands_changed retain anything at all is pinned by forge-workspace’s session-task tests.

Re-exports§

use forge_primitives::AvailableAgent; 🔒
use forge_primitives::AvailableCommand; 🔒
use forge_primitives::SessionSlot; 🔒
use crate::commands::ForgeCommand; 🔒
use crate::file_index::FileIndex; 🔒
use crate::surface::ViewSurface; 🔒