diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index aa41668..c62429f 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,7 @@ { "name": "raystack", "source": "./", - "version": "1.1.0", + "version": "1.1.1", "description": "Skills by Harun R. Rayhan: a full development flow (new project intake, research, PRD, specs, plans, reviewed builds, ship; gap-fill, design review and migration for existing projects), read-only scans and reviews (security, performance, scalability, reliability and availability, architecture incl. MVC and CQRS, frontend, code health, CI/CD pipelines, AWS, infrastructure, databases), working principles and local browser verification.", "category": "devops" } diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 23c0912..398db8d 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "raystack", - "version": "1.1.0", + "version": "1.1.1", "description": "Skills by Harun R. Rayhan: a full development flow (new project intake, research, PRD, specs, plans, reviewed builds, ship; gap-fill, design review and migration for existing projects), read-only scans and reviews (security, performance, scalability, reliability and availability, architecture incl. MVC and CQRS, frontend, code health, CI/CD pipelines, AWS, infrastructure, databases), working principles and local browser verification.", "author": { "name": "Harun R. Rayhan", diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index d7ea8e8..6d46d0e 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "raystack", "displayName": "RayStack", - "version": "1.1.0", + "version": "1.1.1", "description": "Skills by Harun R. Rayhan: a full development flow (new project intake, research, PRD, specs, plans, reviewed builds, ship; gap-fill, design review and migration for existing projects), read-only scans and reviews (security, performance, scalability, reliability and availability, architecture incl. MVC and CQRS, frontend, code health, CI/CD pipelines, AWS, infrastructure, databases), working principles and local browser verification.", "author": { "name": "Harun R. Rayhan" diff --git a/CHANGELOG.md b/CHANGELOG.md index e5cac62..a538075 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 1.1.1 (2026-11-04) + +- The installer knows OpenClaw (`--agent openclaw`, `~/.openclaw/skills`) and its earlier + names Clawdbot and Moltbot (`--agent clawdbot`, `--agent moltbot`). +- README: rows for OpenClaw and the Grok app; Update and Uninstall are their own sections, + each with a prompt to copy. + ## 1.1.0 (2026-11-04) - New `audit` skill: the entry point for reviews and scans, as `dev` is for building. diff --git a/README.md b/README.md index b6f2ab0..0986675 100644 --- a/README.md +++ b/README.md @@ -213,6 +213,17 @@ Global folder `~/.grok/skills`, project folder `.claude/skills` (add `--project +
+ Grok (app) + +```text +Install RayStack for Grok: run `curl -fsSL https://raw.githubusercontent.com/HarunRRayhan/RayStack/main/get.sh | bash -s -- --agent grok`, then tell me what it printed. +``` + +Paste into the Grok app, where it can run commands on your machine. The skills go to `~/.grok/skills`, which Grok Build reads too. + +
+
Antigravity @@ -422,6 +433,17 @@ Global folder `~/.continue/skills`, project folder `.continue/skills` (add `--pr
+
+ OpenClaw (Clawdbot) + +```text +Install RayStack globally for OpenClaw: run `curl -fsSL https://raw.githubusercontent.com/HarunRRayhan/RayStack/main/get.sh | bash -s -- --agent openclaw`, then tell me what it printed. +``` + +Global folder `~/.openclaw/skills`, project folder `skills` (add `--project .`). Still on the old name? Use `--agent clawdbot` (`~/.clawdbot/skills`) or `--agent moltbot` (`~/.moltbot/skills`). + +
+ Not listed? `~/.raystack/install.sh --agent custom --dir /path/to/its/skills`, or the [skills CLI](https://skills.sh): `npx skills add HarunRRayhan/RayStack -g -a `. @@ -431,9 +453,15 @@ Claude Code; on any other agent, give reviews read-only credentials. Logos belon owners. Other options: `--dry-run` shows what would happen, `--link` symlinks to the checkout, and `--help` lists the rest. Per-agent details and sources: [docs/agents.md](docs/agents.md). -### Update +## Update -Type `/raystack update` in your agent, or run: +Type `/raystack update` in your agent, or paste: + +```text +Update RayStack: run `~/.raystack/install.sh --update`, then tell me the new version. +``` + +Or in a terminal: ```bash ~/.raystack/install.sh --update @@ -444,16 +472,6 @@ install made from it (they are listed in `~/.raystack-installs`). Running the on again does the same for the agents it finds. Plugin installs update through the agent (see above). Start a new agent session afterwards. -### Uninstall - -```bash -~/.raystack/install.sh --uninstall --agent all # every agent found -~/.raystack/install.sh --uninstall --project . # this project (Claude Code) -rm -rf ~/.raystack ~/.raystack-installs # then the checkout and its list -``` - -`--uninstall` removes exactly the thirty-one RayStack skills and nothing else. - ## Skills RayStack is thirty-one skills. You only need `/raystack` (or `/dev` to build and `/audit` to review); they call the rest. @@ -490,6 +508,22 @@ With `autoMerge` off (the default) the agent stops at green CI and asks before i `deployCheck` tells it how to confirm the deploy is live. A repo with no git remote is merged locally after you say yes. +## Uninstall + +```text +Uninstall RayStack: run `~/.raystack/install.sh --uninstall --agent all`, then delete ~/.raystack and ~/.raystack-installs and tell me what was removed. +``` + +Or in a terminal: + +```bash +~/.raystack/install.sh --uninstall --agent all # every agent found +~/.raystack/install.sh --uninstall --project . # this project (Claude Code) +rm -rf ~/.raystack ~/.raystack-installs # then the checkout and its list +``` + +`--uninstall` removes exactly the thirty-one RayStack skills and nothing else. + ## Credits RayStack borrows ideas from four skill packs: diff --git a/VERSION b/VERSION index 9084fa2..524cb55 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.0 +1.1.1 diff --git a/assets/agents/openclaw.png b/assets/agents/openclaw.png new file mode 100644 index 0000000..bb7b3c7 Binary files /dev/null and b/assets/agents/openclaw.png differ diff --git a/docs/agents.md b/docs/agents.md index a1246cc..eef70c5 100644 --- a/docs/agents.md +++ b/docs/agents.md @@ -193,8 +193,8 @@ read-only credentials, which the contract asks for anyway. ## Other agents `install.sh` also knows Antigravity, Gemini CLI, GitHub Copilot, Windsurf, Cline, Kiro, Roo -Code, Kilo Code, Amp, Goose, Qwen Code, Trae, Junie, Augment, Warp, Zed, OpenHands and -Continue. Their global and project skills folders, and the folder that shows an agent is +Code, Kilo Code, Amp, Goose, Qwen Code, Trae, Junie, Augment, Warp, Zed, OpenHands, +Continue and OpenClaw (formerly Clawdbot and Moltbot). Their global and project skills folders, and the folder that shows an agent is installed, come from the agent table of the [skills CLI](https://github.com/vercel-labs/skills) (`src/agents.ts`). RayStack has not tested them. None of them run the review guard, so pair reviews with read-only credentials. If an agent reads a different folder on your machine, use diff --git a/install.sh b/install.sh index 90221d2..5568466 100755 --- a/install.sh +++ b/install.sh @@ -20,7 +20,8 @@ Usage: install.sh [--agent all||custom] [--dir ] [--project [ Copies the thirty-one RayStack skills into an agent's skills directory (default agent: claude). Agents: claude codex cursor grok antigravity gemini copilot windsurf cline kiro roo kilo amp -goose opencode qwen trae junie augment warp zed openhands continue. +goose opencode qwen trae junie augment warp zed openhands continue openclaw +clawdbot moltbot. --agent all every agent found in your home folder; asks per agent at a terminal --yes with --agent all, install for every agent found without asking --dir skills directory; required with --agent custom, overrides the agent default @@ -113,7 +114,10 @@ augment|Augment|.augment|.augment/skills|.augment/skills warp|Warp|.warp|.agents/skills|.agents/skills zed|Zed|.config/zed|.agents/skills|.agents/skills openhands|OpenHands|.openhands|.openhands/skills|.openhands/skills -continue|Continue|.continue|.continue/skills|.continue/skills' +continue|Continue|.continue|.continue/skills|.continue/skills +openclaw|OpenClaw (Clawdbot)|.openclaw|.openclaw/skills|skills +clawdbot|Clawdbot|.clawdbot|.clawdbot/skills|skills +moltbot|Moltbot|.moltbot|.moltbot/skills|skills' # agent_field agent_field() { printf '%s\n' "$AGENTS" | awk -F'|' -v n="$1" -v c="$2" '$1 == n { print $c }'; } diff --git a/plugin.json b/plugin.json index 0c80ca7..7680cd3 100644 --- a/plugin.json +++ b/plugin.json @@ -1,7 +1,7 @@ { - "$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json", + "$schema": "https://agent-plugins.org/schemas/1.1.1/plugin.schema.json", "name": "raystack", - "version": "1.1.0", + "version": "1.1.1", "description": "Skills by Harun R. Rayhan: a full development flow (new project intake, research, PRD, specs, plans, reviewed builds, ship; gap-fill, design review and migration for existing projects), read-only scans and reviews (security, performance, scalability, reliability and availability, architecture incl. MVC and CQRS, frontend, code health, CI/CD pipelines, AWS, infrastructure, databases), working principles and local browser verification.", "author": { "name": "Harun R. Rayhan", diff --git a/tests/test-install.sh b/tests/test-install.sh index 9726eab..0117e44 100644 --- a/tests/test-install.sh +++ b/tests/test-install.sh @@ -92,6 +92,8 @@ case "$outs" in *"same folder: Cline"*) pass "all: shared folder named";; *) fai HOME="$T/x" bash ./install.sh --agent nosuch >/dev/null 2>&1 && fail "unknown agent accepted" || pass "unknown agent rejected" P="$T/projgem"; mkdir -p "$P"; HOME="$T/x" bash ./install.sh --agent gemini --project "$P" >/dev/null 2>&1 assert_eq "$(count "$P/.agents/skills")" 31 "gemini project folder" +HO="$T/homeclaw"; mkdir -p "$HO/.openclaw"; HOME="$HO" bash ./install.sh --agent all --yes >/dev/null 2>&1 +assert_eq "$(count "$HO/.openclaw/skills")" 31 "all: openclaw folder" bash -n get.sh && pass "get.sh parses" || fail "get.sh syntax" [ "$(tail -1 get.sh | cut -c1-10)" = 'main "$@" ' ] && pass "get.sh runs main last" || fail "get.sh must end with main" case "$out" in *"codex plugin"*) pass "prints plugin hint";; *) fail "no plugin hint";; esac