← ClaudeAtlas

mycodaemon-settings-form-patternslisted

Use when adding a new config toggle that mutates files beyond myco.yaml (e.g., .gitignore writes, AGENTS.md managed blocks), or when building a compound provider+model dropdown field in daemon settings UI. Covers two patterns not in daemon-ui-development: (1) the 3-step config toggle side-effects architecture — boolean flag in myco.yaml → managed block in the target file → in-process reconcileConfiguredSymbionts reconciliation, fired by the daemon config-reactions on a capture/symbionts config write; (2) the ProviderModelSelector compound enum pattern for paired provider+model dropdowns where the provider selection resets and filters the model list. Also covers .gitignore scope boundaries for file-mutation toggles. For core form lifecycle triad (toFormState/builder/dirty-check), SectionSaveRow, useCallback dep completeness, and Playwright smoke test structure, see the daemon-ui-development skill.
goondocks-co/myco · ★ 13 · AI & Automation · score 79
Install: claude install-skill goondocks-co/myco
# Daemon Settings Form Patterns: Toggle Side-Effects and Compound Fields This skill covers two advanced patterns for daemon settings UI that are **not** in `daemon-ui-development`: 1. **Config toggle side-effects architecture** — when a settings boolean must write to files beyond `myco.yaml` (`.gitignore`, `AGENTS.md`, etc.) 2. **ProviderModelSelector compound enum pattern** — paired provider+model dropdowns where parent selection drives child filtering and reset For foundational patterns — form lifecycle triad, `SectionSaveRow`, `useCallback` dep completeness, and Playwright smoke tests — see the **`daemon-ui-development`** skill first. ## Prerequisites - Read `daemon-ui-development` for the base form lifecycle triad before adding any new settings section - Know the `myco.yaml` config schema for the feature area you're working on - Daemon UI source: `packages/myco/ui/src/` - Config schema: `src/config/schema.ts` - Config save handler: `src/daemon/routes/config.ts` (or equivalent) - ESLint `react-hooks/exhaustive-deps` must be enabled and treated as an error --- ## Procedure 1: Config Toggle Side-Effects Architecture Use this procedure whenever a settings toggle must mutate files beyond `myco.yaml` — for example, writing entries to `.gitignore`, inserting a managed block into `AGENTS.md`, or managing an `.env` template. The pattern has exactly **3 steps**. Do not skip any step. ### Step 1 — Single Boolean Flag in myco.yaml Add a single opt-in boolean to the `myco.y