Skip to content

v0.1.9

Choose a tag to compare

@kasperjunge kasperjunge released this 16 Mar 22:38
· 768 commits to main since this release

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 run that doesn't match a named ralph now errors instead of silently treating it as an inline prompt.

  • ralph status removed β€” Validation (check script executability, etc.) now runs at ralph run startup 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