v0.1.9
What's Changed
Breaking Changes
-
Explicit primitive dependencies β Global checks and contexts (
.ralphify/checks/,.ralphify/contexts/) are no longer auto-applied to all ralphs. They are now a library of available primitives. Ralphs must explicitly declare which globals they use via frontmatter:--- checks: [lint, typecheck] contexts: [git-log, codebase-map] ---
Ralph-local primitives (inside the ralph's own directory) still auto-apply. Unknown names produce a clear error listing available primitives. Ad-hoc prompts (
-p) receive no global primitives. -
Named context placeholders required β The bulk
{{ contexts }}placeholder and implicit context append have been removed. All contexts must be referenced by name:{{ contexts.git-log }}. -
Unknown ralph names rejected β Passing a value to
ralph runthat doesn't match a named ralph now errors instead of silently treating it as an inline prompt. -
ralph statusremoved β Validation (check script executability, etc.) now runs atralph runstartup instead.
Features
- Auto-reload primitives β Primitives are re-discovered every iteration so edits on disk take effect immediately without manual reload.
- Port 3000 default β Listen on port 3000 to match Coolify's default Traefik config.
Fixes
- Remove unused imports flagged by ruff.
Migration Guide
To migrate from 0.1.8, add checks and contexts lists to your RALPH.md frontmatter declaring which global primitives each ralph uses. For example, if you had a global check lint and context git-log that previously auto-applied:
---
checks: [lint]
contexts: [git-log]
---
Your prompt here with {{ contexts.git-log }}Full Changelog: v0.1.8...v0.1.9