Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23e1c15309 | ||
|
|
b9da30cc2a | ||
|
|
cbf4de43b8 | ||
|
|
ada9ff4212 | ||
|
|
8004498f35 | ||
|
|
6e9d9360e4 | ||
|
|
e42a251cea | ||
|
|
17029df2f0 | ||
|
|
d8e7837d2b | ||
|
|
65e0fcf42d | ||
|
|
5f41ac00fe | ||
|
|
7cfa786e35 | ||
|
|
6cc1584671 | ||
|
|
f2f05478bb |
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,31 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${CODEBUDDY_PLUGIN_ROOT:-$HOME/.codebuddy/skills/planning-with-files}/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"${CODEBUDDY_PLUGIN_ROOT:-$HOME/.codebuddy/skills/planning-with-files}/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.16.1"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,31 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${CODEX_SKILL_ROOT:-$HOME/.codex/skills/planning-with-files}/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"${CODEX_SKILL_ROOT:-$HOME/.codex/skills/planning-with-files}/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.16.1"
|
||||
---
|
||||
@@ -225,8 +201,8 @@ Helper scripts for automation:
|
||||
|
||||
## Advanced Topics
|
||||
|
||||
- **Manus Principles:** See [reference.md](reference.md)
|
||||
- **Real Examples:** See [examples.md](examples.md)
|
||||
- **Manus Principles:** See [references/reference.md](references/reference.md)
|
||||
- **Real Examples:** See [references/examples.md](references/examples.md)
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,31 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${CURSOR_SKILL_ROOT:-.cursor/skills/planning-with-files}/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"${CURSOR_SKILL_ROOT:-.cursor/skills/planning-with-files}/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.16.1"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,31 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${KILOCODE_SKILL_ROOT:-$HOME/.kilocode/skills/planning-with-files}/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"${KILOCODE_SKILL_ROOT:-$HOME/.kilocode/skills/planning-with-files}/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.16.1"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,32 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${HOME}/.mastracode/skills/planning-with-files/scripts"
|
||||
[ -f "$SCRIPT_DIR/check-complete.sh" ] || SCRIPT_DIR=".mastracode/skills/planning-with-files/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"$HOME/.mastracode/skills/planning-with-files/scripts\"; [ -f \"$SD/check-complete.sh\" ] || SD=\".mastracode/skills/planning-with-files/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.18.1"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,31 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${OPENCODE_SKILL_ROOT:-$HOME/.config/opencode/skills/planning-with-files}/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"${OPENCODE_SKILL_ROOT:-$HOME/.config/opencode/skills/planning-with-files}/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.16.1"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -2,6 +2,40 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [2.19.0] - 2026-03-04
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Codex Advanced Topics broken links** (PR #92 by @tt-a1i, fixes #91)
|
||||
- Corrected two dead links in `.codex/skills/planning-with-files/SKILL.md`
|
||||
- `reference.md` → `references/reference.md`
|
||||
- `examples.md` → `references/examples.md`
|
||||
|
||||
### Thanks
|
||||
|
||||
- @tt-a1i for identifying and fixing the broken Codex links (PR #92)
|
||||
|
||||
---
|
||||
|
||||
## [2.18.3] - 2026-02-28
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Stop hook multiline YAML command fails under Git Bash on Windows** (PR #86 by @raykuo998)
|
||||
- Root cause: YAML `command: |` multiline blocks are not reliably parsed by Git Bash on Windows. The shell received the first line (`SCRIPT_DIR=...`) as a command name rather than a variable assignment, crashing the hook before it could do anything.
|
||||
- Replaced 25-line OS detection scripts with a single-line implicit platform fallback chain: `powershell.exe` first, `sh` as fallback. Applied to all 7 SKILL.md variants with Stop hooks.
|
||||
- Added `-NoProfile` to PowerShell invocation for faster startup
|
||||
|
||||
- **`check-complete.ps1` completely failing on PowerShell 5.1** (PR #88 by @raykuo998)
|
||||
- Root cause: Special characters inside double-quoted `Write-Host` strings (`[`, `(`, em-dash) caused parse errors in Windows PowerShell 5.1
|
||||
- Replaced double-quoted strings with single-quoted strings plus explicit concatenation for variable interpolation. Applied to all 12 platform copies.
|
||||
|
||||
### Thanks
|
||||
|
||||
- @raykuo998 for both Windows compatibility fixes (PR #86, PR #88)
|
||||
|
||||
---
|
||||
|
||||
## [2.18.2] - 2026-02-26
|
||||
|
||||
### Fixed
|
||||
|
||||
+54
-2
@@ -59,8 +59,53 @@ These amazing people have contributed code, documentation, or significant improv
|
||||
- Created `docs/codebuddy.md` installation guide
|
||||
- **Impact:** Expands IDE support to CodeBuddy ecosystem
|
||||
|
||||
- **[@lincolnwan](https://github.com/lincolnwan)** - [PR #80](https://github.com/OthmanAdi/planning-with-files/pull/80)
|
||||
- Added native GitHub Copilot hooks integration using the early 2026 hooks system
|
||||
- Created `.github/hooks/planning-with-files.json` with full hook scripts in `.github/hooks/scripts/`
|
||||
- Full cross-platform support (bash + PowerShell) and `docs/copilot.md` installation guide
|
||||
- **Impact:** Brought total supported platforms to 15, expanding the skill to the GitHub Copilot ecosystem
|
||||
|
||||
- **[@ciberponk](https://github.com/ciberponk)** - [PR #77](https://github.com/OthmanAdi/planning-with-files/pull/77)
|
||||
- Added isolated `.planning/{uuid}/` plan sessions with UUID generation and PLAN_ID pinning
|
||||
- Enables parallel planning sessions in separate terminals without state collision
|
||||
- Cross-platform scripts (bash + PowerShell) with full backward compatibility for single-session users
|
||||
- **Impact:** Unlocks parallel planning workflows, shipped to experimental branch ahead of master
|
||||
|
||||
- **[@ttttmr](https://github.com/ttttmr)** - [PR #67](https://github.com/OthmanAdi/planning-with-files/pull/67)
|
||||
- Added Pi Agent support with full skill integration
|
||||
- **Impact:** Expands the skill to the Pi Agent ecosystem
|
||||
|
||||
### Other Contributors
|
||||
|
||||
- **[@popey](https://github.com/popey)** - [PR #83](https://github.com/OthmanAdi/planning-with-files/pull/83)
|
||||
- Fixed `allowed-tools` YAML list (invalid per Anthropic skill spec, silently killing discoverability)
|
||||
- Fixed `metadata.version` placement and added trigger terms for better skill matching
|
||||
- Applied across the canonical SKILL.md file
|
||||
|
||||
- **[@jonthebeef](https://github.com/jonthebeef)** - [PR #75](https://github.com/OthmanAdi/planning-with-files/pull/75)
|
||||
- Added `/plan:status` command for quick planning progress display without reading through all planning files
|
||||
|
||||
- **[@codelyc](https://github.com/codelyc)** - [PR #66](https://github.com/OthmanAdi/planning-with-files/pull/66), [PR #70](https://github.com/OthmanAdi/planning-with-files/pull/70), [PR #76](https://github.com/OthmanAdi/planning-with-files/pull/76)
|
||||
- Fixed Codex skill path references and replaced CLAUDE_PLUGIN_ROOT with correct absolute paths (PR #66)
|
||||
- Fixed CodeBuddy skill path references and environment variables (PR #70)
|
||||
- Added OpenCode scripts for the planning-with-files skill (PR #76)
|
||||
|
||||
- **[@Guozihong](https://github.com/Guozihong)** - [PR #51](https://github.com/OthmanAdi/planning-with-files/pull/51)
|
||||
- Added `/planning-with-files:start` command, enabling skill activation without copying files manually
|
||||
|
||||
- **[@fahmyelraie](https://github.com/fahmyelraie)** - [PR #49](https://github.com/OthmanAdi/planning-with-files/pull/49)
|
||||
- Fixed Stop hook path resolution when CLAUDE_PLUGIN_ROOT is not set in the environment
|
||||
|
||||
- **[@olgasafonova](https://github.com/olgasafonova)** - [PR #46](https://github.com/OthmanAdi/planning-with-files/pull/46)
|
||||
- Added SkillCheck validation badge after running the skill through spec validation
|
||||
|
||||
- **[@AZLabsAI](https://github.com/AZLabsAI)** - [PR #65](https://github.com/OthmanAdi/planning-with-files/pull/65)
|
||||
- Updated OpenClaw docs to reflect the product rename from Moltbot, correcting all paths and CLI commands
|
||||
|
||||
- **[@raykuo998](https://github.com/raykuo998)** - [PR #88](https://github.com/OthmanAdi/planning-with-files/pull/88), [PR #86](https://github.com/OthmanAdi/planning-with-files/pull/86)
|
||||
- Fixed `check-complete.ps1` completely failing on PowerShell 5.1 due to special character parse errors in double-quoted strings; switched to single-quoted strings with concatenation across all 12 platform copies (PR #88)
|
||||
- Fixed Stop hook YAML multiline command block failing under Git Bash on Windows; collapsed 25-line OS detection to single-line implicit platform fallback chain across all 7 SKILL.md variants (PR #86)
|
||||
|
||||
- **[@gydx6](https://github.com/gydx6)** - [PR #79](https://github.com/OthmanAdi/planning-with-files/pull/79)
|
||||
- Fixed session-catchup false positives in all 9 skill-distributed copies
|
||||
- Added early return guards for non-planning projects
|
||||
@@ -80,10 +125,16 @@ These amazing people have contributed code, documentation, or significant improv
|
||||
- Added `assets` field to ensure templates copy to cache
|
||||
- **Impact:** Resolved template path issues
|
||||
|
||||
- **[@tt-a1i](https://github.com/tt-a1i)** - [PR #92](https://github.com/OthmanAdi/planning-with-files/pull/92)
|
||||
- Fixed broken Advanced Topics links in Codex SKILL.md (reference.md and examples.md paths)
|
||||
|
||||
## Community Forks
|
||||
|
||||
These developers have created forks that extend the functionality:
|
||||
|
||||
- **[@RioTheGreat-ai](https://github.com/RioTheGreat-ai)** - [agentfund-skill](https://github.com/RioTheGreat-ai/agentfund-skill)
|
||||
- Crowdfunding platform for AI agents using milestone-based escrow on Base, built with planning-with-files
|
||||
|
||||
- **[@kmichels](https://github.com/kmichels)** - [multi-manus-planning](https://github.com/kmichels/multi-manus-planning)
|
||||
- Multi-project support
|
||||
- SessionStart git sync integration
|
||||
@@ -92,6 +143,7 @@ These developers have created forks that extend the functionality:
|
||||
|
||||
Thank you to everyone who reported issues, provided feedback, and helped test fixes:
|
||||
|
||||
- [@msuadOf](https://github.com/msuadOf) - Issue #93 (TMPDIR environment fix for plugin install)
|
||||
- [@DorianZheng](https://github.com/DorianZheng) - Issue #84 (BoxLite sandbox integration proposal)
|
||||
- [@mtuwei](https://github.com/mtuwei) - Issue #32 (Windows hook error)
|
||||
- [@JianweiWangs](https://github.com/JianweiWangs) - Issue #31 (Skill activation)
|
||||
@@ -119,6 +171,6 @@ If you've contributed and don't see your name here, please open an issue! We wan
|
||||
|
||||
---
|
||||
|
||||
**Total Contributors:** 13+ and growing!
|
||||
**Total Contributors:** 25+ and growing!
|
||||
|
||||
*Last updated: February 26, 2026*
|
||||
*Last updated: March 4, 2026*
|
||||
|
||||
@@ -31,27 +31,7 @@ If this skill helps you work smarter, that's all I wanted.
|
||||
<details>
|
||||
<summary><strong>🤝 Contributors</strong></summary>
|
||||
|
||||
Everyone who made this project better — bug reports, PRs, and integrations.
|
||||
|
||||
| Contributor | Contribution |
|
||||
|-------------|-------------|
|
||||
| [@popey](https://github.com/popey) | Skill metadata & discoverability fixes (PR #83) |
|
||||
| [@lincolnwan](https://github.com/lincolnwan) | GitHub Copilot hooks support (PR #80) |
|
||||
| [@gydx6](https://github.com/gydx6) | Session catchup false-positive fix (PR #79) |
|
||||
| [@ciberponk](https://github.com/ciberponk) | Isolated plan sessions with UUID pinning (PR #77) |
|
||||
| [@jonthebeef](https://github.com/jonthebeef) | `/plan:status` command (PR #75) |
|
||||
| [@codelyc](https://github.com/codelyc) | OpenCode scripts + CodeBuddy path fixes (PRs #76, #70, #66) |
|
||||
| [@ttttmr](https://github.com/ttttmr) | Pi Agent integration (PR #67) |
|
||||
| [@AZLabsAI](https://github.com/AZLabsAI) | OpenClaw docs update (PR #65) |
|
||||
| [@ZWkang](https://github.com/ZWkang) | CodeBuddy integration (PR #60) |
|
||||
| [@SaladDay](https://github.com/SaladDay) | POSIX stop hook fix (PR #57) |
|
||||
| [@murphyXu](https://github.com/murphyXu) | Continue IDE integration (PR #56) |
|
||||
| [@Guozihong](https://github.com/Guozihong) | Start command (PR #51) |
|
||||
| [@fahmyelraie](https://github.com/fahmyelraie) | Stop hook path resolution fix (PR #49) |
|
||||
| [@olgasafonova](https://github.com/olgasafonova) | SkillCheck validation badge (PR #46) |
|
||||
| [@lasmarois](https://github.com/lasmarois) | Session catchup cross-session improvements (PRs #37, #34) |
|
||||
| [@RioTheGreat-ai](https://github.com/RioTheGreat-ai) | AgentFund community extension (PR #72) |
|
||||
| [@Hexiaopi](https://github.com/Hexiaopi) | Copilot garbled characters bug report (Issue #82) |
|
||||
See the full list of everyone who made this project better in [CONTRIBUTORS.md](./CONTRIBUTORS.md).
|
||||
|
||||
</details>
|
||||
|
||||
@@ -346,29 +326,7 @@ planning-with-files/
|
||||
|
||||
## Documentation
|
||||
|
||||
| Document | Description |
|
||||
|----------|-------------|
|
||||
| [Installation Guide](docs/installation.md) | All installation methods (plugin, manual, Cursor, Windows) |
|
||||
| [Quick Start](docs/quickstart.md) | 5-step guide to using the pattern |
|
||||
| [Workflow Diagram](docs/workflow.md) | Visual diagram of how files and hooks interact |
|
||||
| [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions |
|
||||
| [Gemini CLI Setup](docs/gemini.md) | Google Gemini CLI integration guide |
|
||||
| [OpenClaw Setup](docs/openclaw.md) | OpenClaw integration guide |
|
||||
| [Kiro Setup](docs/kiro.md) | Kiro steering files integration |
|
||||
| [Cursor Setup](docs/cursor.md) | Cursor IDE-specific instructions |
|
||||
| [Continue Setup](docs/continue.md) | Continue integration guide (skills + slash prompt) |
|
||||
| [Windows Setup](docs/windows.md) | Windows-specific notes |
|
||||
| [Kilo Code Support](docs/kilocode.md) | Kilo Code integration guide |
|
||||
| [Codex Setup](docs/codex.md) | Codex IDE installation and usage |
|
||||
| [OpenCode Setup](docs/opencode.md) | OpenCode IDE installation, oh-my-opencode config |
|
||||
| [FactoryAI Droid Setup](docs/factory.md) | FactoryAI Droid integration guide |
|
||||
| [Antigravity Setup](docs/antigravity.md) | Antigravity IDE integration guide |
|
||||
| [CodeBuddy Setup](docs/codebuddy.md) | CodeBuddy IDE integration guide |
|
||||
| [AdaL CLI Setup](docs/adal.md) | AdaL CLI / Sylph AI integration guide |
|
||||
| [Pi Agent Setup](docs/pi-agent.md) | Pi Agent integration guide |
|
||||
| [Copilot Setup](docs/copilot.md) | GitHub Copilot hooks integration guide |
|
||||
| [Mastra Setup](docs/mastra.md) | Mastra Code integration guide |
|
||||
| [BoxLite Setup](docs/boxlite.md) | BoxLite micro-VM sandbox integration guide |
|
||||
All platform setup guides and documentation are in the [docs/](./docs/) folder.
|
||||
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
@@ -17,31 +17,7 @@ hooks:
|
||||
Stop:
|
||||
- hooks:
|
||||
- type: command
|
||||
command: |
|
||||
SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/planning-with-files}/scripts"
|
||||
|
||||
IS_WINDOWS=0
|
||||
if [ "${OS-}" = "Windows_NT" ]; then
|
||||
IS_WINDOWS=1
|
||||
else
|
||||
UNAME_S="$(uname -s 2>/dev/null || echo '')"
|
||||
case "$UNAME_S" in
|
||||
CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$IS_WINDOWS" -eq 1 ]; then
|
||||
if command -v pwsh >/dev/null 2>&1; then
|
||||
pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
else
|
||||
powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null ||
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
else
|
||||
sh "$SCRIPT_DIR/check-complete.sh"
|
||||
fi
|
||||
command: "SD=\"${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/planning-with-files}/scripts\"; powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"$SD/check-complete.ps1\" 2>/dev/null || sh \"$SD/check-complete.sh\""
|
||||
metadata:
|
||||
version: "2.16.1"
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Check if all phases in task_plan.md are complete
|
||||
# Always exits 0 — uses stdout for status reporting
|
||||
# Always exits 0 -- uses stdout for status reporting
|
||||
# Used by Stop hook to report task completion status
|
||||
|
||||
param(
|
||||
@@ -7,7 +7,7 @@ param(
|
||||
)
|
||||
|
||||
if (-not (Test-Path $PlanFile)) {
|
||||
Write-Host "[planning-with-files] No task_plan.md found — no active planning session."
|
||||
Write-Host '[planning-with-files] No task_plan.md found -- no active planning session.'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ if ($COMPLETE -eq 0 -and $IN_PROGRESS -eq 0 -and $PENDING -eq 0) {
|
||||
$PENDING = ([regex]::Matches($content, "\[pending\]")).Count
|
||||
}
|
||||
|
||||
# Report status (always exit 0 — incomplete task is a normal state)
|
||||
# Report status -- always exit 0, incomplete task is a normal state
|
||||
if ($COMPLETE -eq $TOTAL -and $TOTAL -gt 0) {
|
||||
Write-Host "[planning-with-files] ALL PHASES COMPLETE ($COMPLETE/$TOTAL)"
|
||||
Write-Host ('[planning-with-files] ALL PHASES COMPLETE (' + $COMPLETE + '/' + $TOTAL + ')')
|
||||
} else {
|
||||
Write-Host "[planning-with-files] Task in progress ($COMPLETE/$TOTAL phases complete)"
|
||||
Write-Host ('[planning-with-files] Task in progress (' + $COMPLETE + '/' + $TOTAL + ' phases complete)')
|
||||
if ($IN_PROGRESS -gt 0) {
|
||||
Write-Host "[planning-with-files] $IN_PROGRESS phase(s) still in progress."
|
||||
Write-Host ('[planning-with-files] ' + $IN_PROGRESS + ' phase(s) still in progress.')
|
||||
}
|
||||
if ($PENDING -gt 0) {
|
||||
Write-Host "[planning-with-files] $PENDING phase(s) pending."
|
||||
Write-Host ('[planning-with-files] ' + $PENDING + ' phase(s) pending.')
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user