You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: remove stale references to instructions primitive and ad-hoc prompts
The instructions primitive and the -p ad-hoc prompt flag were removed
but several docs still referenced them. A new user following the README
would hit errors trying to use `ralph new instruction` or `ralph run -p`.
- README: remove instructions section, fix "four primitives" → "three",
remove -p examples, add named ralph example
- index.md: remove ad-hoc prompt example
- changelog.md: document instructions and -p removal in 0.1.7 breaking
changes, fix stale "four primitive types" reference
- codebase-map.md: remove stale "inline text" and "ad-hoc text" refs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/changelog.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,8 @@ Simplified the CLI, added a spinner during iterations, and removed the experimen
14
14
15
15
-**Removed `ralph ui` subcommand and web dashboard** — the experimental web dashboard introduced in 0.1.6 has been removed. The dashboard depended on FastAPI, React, and SQLite, adding significant complexity for a feature that wasn't ready for production use. All dashboard-related API endpoints, persistent history, and WebSocket streaming have been removed. The core agent streaming (Claude Code auto-detection with `--output-format stream-json`) remains — it's used by the CLI for live activity tracking.
16
16
-**Removed `ralph ralphs` subcommand** — `ralph new <name>` is now shorthand for `ralph new ralph <name>`.
17
+
-**Removed instructions primitive** — the `instructions` primitive type introduced in 0.1.3 has been removed. Use contexts for injecting reusable rules into prompts instead. The `{{ instructions }}` and `{{ instructions.name }}` placeholders no longer resolve.
18
+
-**Removed ad-hoc prompts (`-p` flag)** — the `--prompt` / `-p` flag on `ralph run` has been removed. The positional `[PROMPT]` argument now exclusively accepts a named ralph from `.ralphify/ralphs/`. To run a quick one-off task, create a named ralph with `ralph new`.
17
19
18
20
### Added
19
21
@@ -26,7 +28,7 @@ Simplified the CLI, added a spinner during iterations, and removed the experimen
26
28
27
29
### Improved
28
30
29
-
- Introduced `Primitive` protocol in `_discovery.py` so all four primitive types (`Check`, `Context`, `Instruction`, `Ralph`) share a typed interface for discovery, filtering, merging, and display.
31
+
- Introduced `Primitive` protocol in `_discovery.py` so all three primitive types (`Check`, `Context`, `Ralph`) share a typed interface for discovery, filtering, merging, and display.
30
32
- Added generic `_discover_and_filter_enabled()` in the engine, replacing per-type boilerplate with a single code path bounded by the `Primitive` protocol.
31
33
- Moved check result serialization into `CheckResult.to_event_data()` so event data formatting has a single source of truth.
32
34
- Added missing event data fields (`result_text`, `detail`, `duration_formatted`) to API docs so library users see what the engine actually emits.
├── Run contexts → resolve {{ contexts.* }} placeholders
64
64
├── Append check failures from previous iteration (if any)
65
65
├── Pipe assembled prompt to agent command via subprocess
@@ -112,7 +112,7 @@ The CLI uses a `ConsoleEmitter` (defined in `_console_emitter.py`) that renders
112
112
113
113
1.**`engine.py`** — The core run loop. Uses `RunConfig` and `RunState` (from `_run_types.py`) and `EventEmitter`. This is where iteration logic lives.
114
114
2.**`_run_types.py`** — `RunConfig`, `RunState`, and `RunStatus`. These are the shared data types used by the engine, CLI, and manager. Separated so modules that only need the types don't pull in execution logic.
115
-
3.**`cli.py`** — All CLI commands. Delegates to `engine.run_loop()` for the actual loop. Prompt source resolution (name vs. file path vs. inline) lives in `ralphs.py:resolve_ralph_source()`. Scaffold templates live in `_templates.py`. Terminal event rendering lives in `_console_emitter.py`.
115
+
3.**`cli.py`** — All CLI commands. Delegates to `engine.run_loop()` for the actual loop. Prompt source resolution (name vs. file path) lives in `ralphs.py:resolve_ralph_source()`. Scaffold templates live in `_templates.py`. Terminal event rendering lives in `_console_emitter.py`.
116
116
4.**`_frontmatter.py`** + **`_discovery.py`** — Frontmatter parsing and primitive discovery. `_frontmatter.py` handles YAML parsing and defines marker constants. `_discovery.py` defines the `Primitive` protocol, scans `.ralphify/` directories, and provides `merge_by_name()` for overlaying ralph-scoped primitives on globals. Understanding both is essential for working on checks/contexts/ralphs.
117
117
5.**`resolver.py`** — Template placeholder logic used by contexts. Small file but critical.
Copy file name to clipboardExpand all lines: docs/index.md
-6Lines changed: 0 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,12 +48,6 @@ ralph run # Starts the loop (Ctrl+C to stop)
48
48
49
49
`ralph init` creates a config file and a starter prompt. `ralph run` reads the prompt, pipes it to the agent, waits for it to finish, and does it again. Edit `RALPH.md` while the loop is running — changes take effect on the next iteration.
50
50
51
-
Or skip setup and pass a prompt directly:
52
-
53
-
```bash
54
-
ralph run "Add type hints to all public functions in src/" -n 1
0 commit comments