feat(plugins): core read-only scripts and user plugin system

Introduce plugin/<id> installs (zip, HTTPS git, example, fork),
jerapah-plugin.json manifests with jerapah semver ranges, isolated
plugin dirs under data/plugins, and app version 0.1.0. Core scripts
are non-editable; get-current-time moves to examples/plugins.

Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
This commit is contained in:
Cursor Agent
2026-08-19 16:04:00 +00:00
co-authored by nsrb
parent f66d0931bd
commit 611511ae60
23 changed files with 1843 additions and 132 deletions
@@ -2,7 +2,7 @@ name: cron example
description: |
this workflow triggered by cron
scripts:
- script: get-current-time.js
- script: plugin/get-current-time
- set:
expression: '{"message": context.datetime}'
- script: ntfy.js
+1 -1
View File
@@ -1,6 +1,6 @@
name: jsonata
scripts:
- get-current-time.js
- plugin/get-current-time
- script: jsonata.js
config:
expression: '{"message": data.datetime & " " & data.processId}'
@@ -3,7 +3,7 @@ description: >
Fan-in from two scripts (current time + monkeyuser comic), then send to ntfy.
scripts:
- id: time
script: get-current-time.js
script: plugin/get-current-time
- id: comic
script: fetch-html.js
@@ -2,7 +2,7 @@ name: time to ntfy example
description: |
this workflow will send a message to ntfy with the current time
scripts:
- script: get-current-time.js
- script: plugin/get-current-time
config:
key: ""
- script: ntfy.js