Bash equivalent of the PowerShell build change: Claude gets general.md
inlined into CLAUDE.md plus one generated skill per rule-skills.tsv entry;
Codex keeps every rule as a plain file with unchanged AGENTS.md text.
Adds the same build-time validation as the PowerShell script: duplicate
agent/plugin/rule-skill names, JSON validity (jq, falling back to a
functional python3 probe), balanced TOML quotes/brackets, and a
tree-wide (not per-file) leftover-placeholder scan for speed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude's package now gets general.md inlined into CLAUDE.md plus one
generated skill per rule-skills.tsv entry under skills/rules/, instead of
copying every rule file into the always-loaded rules/ directory. Codex is
unaffected: it still receives every rule as a plain file and the original
rule-loading text, byte-for-byte.
Also adds build-time validation: duplicate agent/plugin/rule-skill names
fail the build, generated settings.json must parse as JSON, generated
config.toml must have balanced quotes/brackets, and no __PLACEHOLDER__
tokens may remain unresolved (__AI_CONFIG_ROOT__ excepted, since it is
only resolved at install time).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds adapters/claude/rule-skills.tsv, mapping each technology- or
situation-specific rule to a Claude skill name and trigger description.
Replaces the hardcoded rule-loading block in the shared instructions
template with a __RULE_LOADING__ placeholder so each client's build step
can substitute its own loading mechanism without duplicating the shared
orchestration text.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ensures shell scripts keep LF and PowerShell scripts keep CRLF across
Windows and Linux checkouts.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>