mirror of
https://github.com/obra/superpowers.git
synced 2026-09-02 11:45:44 +00:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0be49879b1 |
@@ -20,7 +20,6 @@ Superpowers is a complete software development methodology for your coding agent
|
|||||||
- [Kimi Code](#kimi-code)
|
- [Kimi Code](#kimi-code)
|
||||||
- [OpenCode](#opencode)
|
- [OpenCode](#opencode)
|
||||||
- [Pi](#pi)
|
- [Pi](#pi)
|
||||||
- [Qwen Code](#qwen-code)
|
|
||||||
- [Hermes Agent](#hermes-agent)
|
- [Hermes Agent](#hermes-agent)
|
||||||
- [The Basic Workflow](#the-basic-workflow)
|
- [The Basic Workflow](#the-basic-workflow)
|
||||||
- [Community](#community)
|
- [Community](#community)
|
||||||
@@ -247,22 +246,6 @@ pi -e /path/to/superpowers
|
|||||||
|
|
||||||
The Pi package loads the Superpowers skills and a small extension that injects the `using-superpowers` bootstrap at session startup and again after compaction. Pi has native skills, so no compatibility `Skill` tool is required. Subagent and task-list tools remain optional Pi companion packages.
|
The Pi package loads the Superpowers skills and a small extension that injects the `using-superpowers` bootstrap at session startup and again after compaction. Pi has native skills, so no compatibility `Skill` tool is required. Subagent and task-list tools remain optional Pi companion packages.
|
||||||
|
|
||||||
### Qwen Code
|
|
||||||
|
|
||||||
Qwen Code installs plugins from Claude Code marketplaces directly.
|
|
||||||
|
|
||||||
- Install the plugin from this repository, and pick `superpowers` when prompted:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
qwen extensions install obra/superpowers
|
|
||||||
```
|
|
||||||
|
|
||||||
- Update later:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
qwen extensions update superpowers
|
|
||||||
```
|
|
||||||
|
|
||||||
### Hermes Agent
|
### Hermes Agent
|
||||||
|
|
||||||
Install Superpowers as a Hermes plugin from this repository:
|
Install Superpowers as a Hermes plugin from this repository:
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ git rev-parse --verify --quiet "$head" >/dev/null || { echo "bad HEAD: $head" >&
|
|||||||
if [ $# -eq 4 ]; then
|
if [ $# -eq 4 ]; then
|
||||||
out=$4
|
out=$4
|
||||||
else
|
else
|
||||||
dir=$("$(cd "$(dirname "$0")" && pwd)/sdd-workspace" "$plan")
|
# Invoke via bash rather than direct exec: some extractors (Python zipfile)
|
||||||
|
# strip Unix exec bits when unpacking marketplace packages (#2040).
|
||||||
|
dir=$("${BASH:-bash}" "$(cd "$(dirname "$0")" && pwd)/sdd-workspace" "$plan")
|
||||||
out="$dir/review-$(git rev-parse --short "$base")..$(git rev-parse --short "$head").diff"
|
out="$dir/review-$(git rev-parse --short "$base")..$(git rev-parse --short "$head").diff"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ n=$2
|
|||||||
if [ $# -eq 3 ]; then
|
if [ $# -eq 3 ]; then
|
||||||
out=$3
|
out=$3
|
||||||
else
|
else
|
||||||
dir=$("$(cd "$(dirname "$0")" && pwd)/sdd-workspace" "$plan")
|
# Invoke via bash rather than direct exec: some extractors (Python zipfile)
|
||||||
|
# strip Unix exec bits when unpacking marketplace packages (#2040).
|
||||||
|
dir=$("${BASH:-bash}" "$(cd "$(dirname "$0")" && pwd)/sdd-workspace" "$plan")
|
||||||
out="$dir/task-${n}-brief.md"
|
out="$dir/task-${n}-brief.md"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -189,6 +189,21 @@ PLAN
|
|||||||
echo " status: $wt_status"
|
echo " status: $wt_status"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# --- helpers survive a mode-stripping extractor dropping exec bits (#2040) ---
|
||||||
|
local stripped="$TEST_ROOT/stripped-scripts"
|
||||||
|
mkdir -p "$stripped"
|
||||||
|
cp "$SDD_SCRIPTS/sdd-workspace" "$SDD_SCRIPTS/task-brief" "$SDD_SCRIPTS/review-package" "$stripped/"
|
||||||
|
chmod -x "$stripped"/*
|
||||||
|
local noexec_out noexec_rc=0
|
||||||
|
noexec_out="$(cd "$repo" && bash "$stripped/task-brief" plan-b.md 1 2>&1)" || noexec_rc=$?
|
||||||
|
if [[ "$noexec_rc" -eq 0 && -f "$repo/.superpowers/sdd/plan-b/task-1-brief.md" ]]; then
|
||||||
|
pass "task-brief works with no exec bit on sdd-workspace"
|
||||||
|
else
|
||||||
|
fail "task-brief works with no exec bit on sdd-workspace"
|
||||||
|
echo " rc: $noexec_rc"
|
||||||
|
echo " output: $noexec_out"
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
if [[ "$FAILURES" -ne 0 ]]; then
|
if [[ "$FAILURES" -ne 0 ]]; then
|
||||||
echo "FAILED: $FAILURES assertion(s)."
|
echo "FAILED: $FAILURES assertion(s)."
|
||||||
|
|||||||
Reference in New Issue
Block a user