
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
@manojlds/ralphi
Advanced tools
Pi-native ralph extension with skill commands and fresh-context loop sessions.
ralphi is a Pi-native implementation of the Ralph autonomous loop pattern.
The name is literal: Ralph + Pi = ralphi.
It gives you a structured, repeatable workflow for planning and implementing features with fresh-context loop iterations.
ralphi provides a phased workflow plus an autonomous implementation loop:
/ralphi-init — initialize project config and guardrails/ralphi-prd — generate PRD markdown from a feature idea/ralphi-convert — convert PRD markdown into .ralphi/prd.json/ralphi-loop-start — run iterative implementation against .ralphi/prd.jsonCore behavior:
/ralphi-*ralphi_phase_done tool.ralphi/prd.json is the source of truth for pending stories (status != done)complete: true) and auto-completes when no pending stories remainpi install npm:@manojlds/ralphi
This installs the package and loads its bundled extension + skills automatically.
If you prefer editing settings manually, add this to ~/.pi/agent/settings.json:
{
"packages": [
"npm:@manojlds/ralphi"
]
}
Then restart Pi or run /reload.
For developing ralphi itself, use a direct path in project-level .pi/settings.json:
{
"packages": [
".."
]
}
This overrides the npm package so local changes are picked up live.
/ralphi-init
This phase prepares .ralphi/config.yaml and establishes rules/commands for the project.
/ralphi-prd <name> <description>
Example:
/ralphi-prd loop-guidance add loop trajectory guard and review gates
If name or description is omitted in TUI mode, ralphi prompts for them.
.ralphi/prd.json/ralphi-convert tasks/prd-<feature>.md
/ralphi-loop-start --max-iterations 50
Monitor and control with:
/ralphi-loop-status/ralphi-loop-open [loopId]/ralphi-loop-controller [loopId]/ralphi-loop-stop [loopId]When you run /ralphi-loop-start:
.ralphi/config.yaml with commands.ralphi/prd.json with valid branchName + userStoriesralphi check.ralphi/prd.json (branchName):
main or current branch.ralphi/config.yaml.ralphi/prd.json.ralphi/progress.txtstatus: open / in_progress).ralphi_phase_done.complete: true, user stop, max iterations, or no pending PRD stories)..ralphi/runtime-state.json| Command | Purpose |
|---|---|
/ralphi-init | Run init phase with finalize + rewind flow |
/ralphi-prd <name> <description> | Run PRD generation phase |
/ralphi-convert <prd-file> | Convert PRD markdown to .ralphi/prd.json |
/ralphi-finalize <runId> | Manually finalize a run (internal/recovery) |
/ralphi-loop-start [--max-iterations N] | Start autonomous loop |
/ralphi-loop-next <loopId> | Trigger next iteration (internal) |
/ralphi-loop-stop [loopId] | Request loop stop |
/ralphi-loop-open [loopId] | Jump to active/recent iteration session |
/ralphi-loop-controller [loopId] | Return to controller session |
/ralphi-loop-status | Show active runs/loops |
/ralphi-loop-guidance-show | Show loop guidance from config |
/ralphi-loop-guidance-set <guidance> | Set loop.guidance in config |
/ralphi-loop-guidance-clear | Clear loop.guidance in config |
ralphi_phase_doneMarks a phase/iteration complete and queues finalize behavior.
Required fields:
runIdphasesummaryOptional fields:
outputs: string[]complete: boolean (loop-only meaningful; set true to end loop)reviewPasses: number (loop metadata)trajectory: ON_TRACK | RISK | DRIFT (loop metadata)trajectoryNotes: stringcorrectivePlan: string (required when strict DRIFT guard is enabled)reflectionSummary: string (required on reflection-checkpoint iterations)nextIterationPlan: string (required on reflection-checkpoint iterations)ralphi_ask_user_questionStructured interactive question tool for init/prd/convert phases.
Supports:
Other free-text pathprovidedAnswers for non-interactive mode.ralphi/config.yaml)Typical config:
project:
name: "my-project"
language: "TypeScript"
framework: "Pi extension"
commands:
test: "npm run test"
lint: "npm run lint"
typecheck: "npm run typecheck"
rules:
- "run npm run check before finalizing"
- "keep changes scoped to one story"
loop:
guidance: "Take a step back each iteration and reassess PRD alignment."
reviewPasses: 1
trajectoryGuard: "require_corrective_plan"
reflectEvery: 3
reflectInstructions: "Reassess PRD alignment, risks, and confidence before coding."
boundaries:
never_touch:
- "*.lock"
- ".env*"
engine: "pi"
max_retries: 3
commands: quality gates used during executionrules: injected into system prompt as project constraintsloop.guidance: loop-specific steering textloop.reviewPasses: minimum expected review passes before completionloop.trajectoryGuard:
offwarn_on_driftrequire_corrective_planloop.reflectEvery: reflection checkpoint cadence in iterations (default-off when missing or <= 0)loop.reflectInstructions: optional project-specific checkpoint prompt contentboundaries.never_touch: files/patterns that must not be modifiedReflection cadence is disabled by default. Enable it only when you want checkpoint iterations:
loop:
reflectEvery: 3
Checkpoint behavior:
Nth iteration (reflectEvery) gets a [REFLECTION CHECKPOINT] prompt block./ralphi-loop-status shows countdown text (for example, next reflection in 2 iterations).ralphi_phase_done must include:
reflectionSummarynextIterationPlanOptional custom instructions:
loop:
reflectEvery: 3
reflectInstructions: "Reassess drift risk, dependencies, and confidence before implementation."
Suggested migration path:
reflectEvery: 5 or higher).reflectInstructions once your team wants a project-specific reflection template.reflectEvery: 3 then 2) only after adoption is stable..ralphi/prd.json)Loop expects stories in userStories with:
idtitleprioritystatus (open | in_progress | done)dependsOn (optional string[] of story IDs)Selection behavior:
status: open, then may resume status: in_progress.When all stories are status: done, loop can terminate.
/ralphi-loop-open to inspect in-flight iteration work./ralphi-finalize <runId>./ralphi-loop-status before starting new loops.ralphi ships a project-local quality-check CLI:
npx --no-install ralphi check
It reads .ralphi/config.yaml and runs configured commands in sequence.
npm install
npm run check
npm run ralphi:check
npm pack --dry-run
For release history and migration notes, see CHANGELOG.md.
FAQs
Pi-native ralph extension with skill commands and fresh-context loop sessions.
The npm package @manojlds/ralphi receives a total of 0 weekly downloads. As such, @manojlds/ralphi popularity was classified as not popular.
We found that @manojlds/ralphi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.