From b4101ea67bbf20ea67946f70d0edd1875856409e Mon Sep 17 00:00:00 2001 From: Dmytro Stanchiev Date: Sun, 19 Apr 2026 18:07:01 -0400 Subject: [PATCH] modify plugin structure Signed-off-by: Dmytro Stanchiev --- .opencode/INSTALL.md | 43 +++++++++++++++++++++++++++++++++ .opencode/plugins/ralph-loop.js | 1 + README.md | 10 ++++++++ docs/README.opencode.md | 36 +++++++++++++++++++++++++++ package.json | 6 +++-- 5 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 .opencode/INSTALL.md create mode 100644 .opencode/plugins/ralph-loop.js create mode 100644 docs/README.opencode.md diff --git a/.opencode/INSTALL.md b/.opencode/INSTALL.md new file mode 100644 index 0000000..7634b39 --- /dev/null +++ b/.opencode/INSTALL.md @@ -0,0 +1,43 @@ +# Installing Ralph Loop for OpenCode + +## Installation + +Add the plugin to the `plugin` array in your `opencode.json`: + +```json +{ + "plugin": ["opencode-plugin-ralph-loop"] +} +``` + +If you install directly from git instead of a registry, use your git URL in the same array entry. + +Restart OpenCode after updating the config. + +## Usage + +This plugin registers these commands: + +- `/ralph-loop` +- `/ulw-loop` +- `/cancel-ralph` + +Example: + +```text +/ralph-loop "Implement the feature completely and stop only when done" +``` + +## Configuration + +User config: + +- `~/.config/opencode/ralph-loop.json` +- `~/.config/opencode/ralph-loop.jsonc` + +Project config: + +- `.opencode/ralph-loop.json` +- `.opencode/ralph-loop.jsonc` + +Project config overrides user config. diff --git a/.opencode/plugins/ralph-loop.js b/.opencode/plugins/ralph-loop.js new file mode 100644 index 0000000..941ddda --- /dev/null +++ b/.opencode/plugins/ralph-loop.js @@ -0,0 +1 @@ +export { default } from "../../dist/index.js" diff --git a/README.md b/README.md index 9bfc427..33ec84b 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,16 @@ Standalone implementation of the **Ralph Loop** (self-referential dev loop) extracted from `oh-my-opencode`. +## OpenCode Install + +Tell OpenCode: + +```text +Fetch and follow instructions from ./.opencode/INSTALL.md +``` + +Detailed OpenCode docs: `docs/README.opencode.md` + Provides: - `/ralph-loop` command - `/ulw-loop` command (ultrawork mode) diff --git a/docs/README.opencode.md b/docs/README.opencode.md new file mode 100644 index 0000000..5e2929b --- /dev/null +++ b/docs/README.opencode.md @@ -0,0 +1,36 @@ +# Ralph Loop for OpenCode + +`opencode-plugin-ralph-loop` is an OpenCode plugin that registers Ralph Loop commands and manages continuation state for long-running iterative work. + +## Installation + +Add the plugin to `opencode.json`: + +```json +{ + "plugin": ["opencode-plugin-ralph-loop"] +} +``` + +Restart OpenCode after installing. + +## Commands + +- `/ralph-loop` +- `/ulw-loop` +- `/cancel-ralph` + +## State + +Loop state is persisted to `.sisyphus/ralph-loop.local.md` in the current project directory. + +## Configuration + +Supported config files: + +- `~/.config/opencode/ralph-loop.json` +- `~/.config/opencode/ralph-loop.jsonc` +- `.opencode/ralph-loop.json` +- `.opencode/ralph-loop.jsonc` + +Project config overrides user config. diff --git a/package.json b/package.json index 6613575..78816bd 100644 --- a/package.json +++ b/package.json @@ -2,18 +2,20 @@ "name": "opencode-plugin-ralph-loop", "version": "0.1.0", "description": "Standalone Ralph Loop plugin for OpenCode (extracted from oh-my-opencode)", - "main": "dist/index.js", + "main": ".opencode/plugins/ralph-loop.js", "types": "dist/index.d.ts", "type": "module", "files": [ + ".opencode", "dist", + "docs", "README.md", "LICENSE.md" ], "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./dist/index.js" + "import": "./.opencode/plugins/ralph-loop.js" } }, "scripts": {