- preamble.ts: hostConfigDir derived from config.globalRoot instead of
hardcoded Record
- utility.ts: generateCoAuthorTrailer reads from config.coAuthorTrailer
instead of host switch statement
- gen-skill-docs.ts: suppressedResolvers from config skip resolver
execution at placeholder replacement time (belt+suspenders with
existing ctx.host checks in individual resolvers)
Golden-file comparison: all 3 hosts produce IDENTICAL output to baselines.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract all hardcoded host-specific values from gen-skill-docs.ts,
types.ts, preamble.ts, review.ts, and setup into typed HostConfig
objects. Each host is a single file in hosts/ with its paths, frontmatter
rules, path/tool rewrites, runtime root manifest, and install behavior.
hosts/index.ts exports all configs, derives the Host type, and provides
resolveHostArg() for CLI alias handling (e.g., 'agents' -> 'codex',
'droid' -> 'factory').
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>