@seanyao/roll 2026.510.6 → 2026.510.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/roll +30 -14
- package/package.json +1 -1
package/bin/roll
CHANGED
|
@@ -4,7 +4,7 @@ set -euo pipefail
|
|
|
4
4
|
# Roll — AI Agent Convention Manager
|
|
5
5
|
# Single source of truth for how all AI coding agents behave.
|
|
6
6
|
|
|
7
|
-
VERSION="2026.510.
|
|
7
|
+
VERSION="2026.510.7"
|
|
8
8
|
ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
|
|
9
9
|
ROLL_CONFIG="${ROLL_HOME}/config.yaml"
|
|
10
10
|
ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
|
|
@@ -1662,18 +1662,24 @@ _project_agent() {
|
|
|
1662
1662
|
fi
|
|
1663
1663
|
}
|
|
1664
1664
|
|
|
1665
|
+
_skill_content() {
|
|
1666
|
+
# Strip YAML frontmatter (---...---) — it's roll-internal metadata, not agent instructions
|
|
1667
|
+
awk 'NR==1 && /^---$/{skip=1;next} skip && /^---$/{skip=0;next} !skip{print}' "$1"
|
|
1668
|
+
}
|
|
1669
|
+
|
|
1665
1670
|
_agent_run_skill() {
|
|
1666
1671
|
local skill="$1"
|
|
1667
1672
|
local agent; agent=$(_project_agent)
|
|
1668
1673
|
local skill_file="${ROLL_HOME}/skills/${skill}/SKILL.md"
|
|
1669
1674
|
[[ -f "$skill_file" ]] || { err "Skill not found: ${skill}"; return 1; }
|
|
1675
|
+
local content; content=$(_skill_content "$skill_file")
|
|
1670
1676
|
case "$agent" in
|
|
1671
|
-
claude) claude -p "$
|
|
1672
|
-
kimi) kimi --quiet -p "$
|
|
1673
|
-
deepseek) deepseek "$
|
|
1674
|
-
pi) pi -p "$
|
|
1675
|
-
codex) codex exec
|
|
1676
|
-
opencode) opencode run "$
|
|
1677
|
+
claude) claude -p "$content" ;;
|
|
1678
|
+
kimi) kimi --quiet -p "$content" ;;
|
|
1679
|
+
deepseek) deepseek "$content" ;;
|
|
1680
|
+
pi) pi -p "$content" ;;
|
|
1681
|
+
codex) codex exec "$content" ;;
|
|
1682
|
+
opencode) opencode run "$content" ;;
|
|
1677
1683
|
*) err "Unknown agent '${agent}'. Run: roll agent use <claude|kimi|deepseek|pi|codex|opencode>"; return 1 ;;
|
|
1678
1684
|
esac
|
|
1679
1685
|
}
|
|
@@ -1729,13 +1735,15 @@ _LOOP_ALERT="${HOME}/.shared/roll/loop/ALERT.md"
|
|
|
1729
1735
|
_agent_skill_cmd() {
|
|
1730
1736
|
local skill_path="$1"
|
|
1731
1737
|
local agent; agent=$(_project_agent)
|
|
1738
|
+
# Strip YAML frontmatter inline for cron commands
|
|
1739
|
+
local strip="awk 'NR==1 && /^---$/{skip=1;next} skip && /^---$/{skip=0;next} !skip{print}' '${skill_path}'"
|
|
1732
1740
|
case "$agent" in
|
|
1733
|
-
claude) echo "claude -p \"\$(
|
|
1734
|
-
kimi) echo "kimi --quiet -p \"\$(
|
|
1735
|
-
deepseek) echo "deepseek \"\$(
|
|
1736
|
-
pi) echo "pi -p \"\$(
|
|
1737
|
-
codex) echo "codex exec
|
|
1738
|
-
opencode) echo "opencode run \"\$(
|
|
1741
|
+
claude) echo "claude -p \"\$(${strip})\"" ;;
|
|
1742
|
+
kimi) echo "kimi --quiet -p \"\$(${strip})\"" ;;
|
|
1743
|
+
deepseek) echo "deepseek \"\$(${strip})\"" ;;
|
|
1744
|
+
pi) echo "pi -p \"\$(${strip})\"" ;;
|
|
1745
|
+
codex) echo "codex exec \"\$(${strip})\"" ;;
|
|
1746
|
+
opencode) echo "opencode run \"\$(${strip})\"" ;;
|
|
1739
1747
|
*) err "Unknown agent '${agent}'. Run: roll agent use <claude|kimi|deepseek|pi|codex|opencode>"; return 1 ;;
|
|
1740
1748
|
esac
|
|
1741
1749
|
}
|
|
@@ -1906,7 +1914,8 @@ _dashboard() {
|
|
|
1906
1914
|
fi
|
|
1907
1915
|
|
|
1908
1916
|
echo ""
|
|
1909
|
-
echo "
|
|
1917
|
+
echo " loop <on|off|now|status|resume|reset> · brief · agent use <name> · release"
|
|
1918
|
+
echo " setup · update · init · status · peer · help"
|
|
1910
1919
|
echo ""
|
|
1911
1920
|
}
|
|
1912
1921
|
|
|
@@ -1935,6 +1944,7 @@ usage() {
|
|
|
1935
1944
|
echo " loop <on|off|now|status|resume|reset> [Autonomous] Manage scheduled BACKLOG executor 管理自主执行循环"
|
|
1936
1945
|
echo " brief [Digest] Show latest owner brief (regenerate if stale) 展示最新简报"
|
|
1937
1946
|
echo " agent [use <name>|list] [Config] Per-project agent selection 切换项目 agent"
|
|
1947
|
+
echo " release [Publish] Sync changelog + version bump + npm publish 同步日志并发版"
|
|
1938
1948
|
echo ""
|
|
1939
1949
|
echo "Examples / 示例:"
|
|
1940
1950
|
echo " roll setup # New machine: first-time install 新机器首次安装"
|
|
@@ -2016,6 +2026,12 @@ _notify_update() {
|
|
|
2016
2026
|
[[ -f "$cache" ]] || return
|
|
2017
2027
|
local latest; latest=$(awk '{print $2}' "$cache" 2>/dev/null || true)
|
|
2018
2028
|
[[ -z "$latest" || "$latest" == "$VERSION" ]] && return
|
|
2029
|
+
local newer; newer=$(printf '%s\n%s\n' "$VERSION" "$latest" | sort -V | tail -1)
|
|
2030
|
+
if [[ "$newer" == "$VERSION" ]]; then
|
|
2031
|
+
# Running version is newer than cached — stale cache, clear it
|
|
2032
|
+
rm -f "$cache"
|
|
2033
|
+
return
|
|
2034
|
+
fi
|
|
2019
2035
|
echo ""
|
|
2020
2036
|
warn "v${latest} available — run 'roll update' to upgrade 有新版本 v${latest} — 运行 'roll update' 升级"
|
|
2021
2037
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seanyao/roll",
|
|
3
|
-
"version": "2026.510.
|
|
3
|
+
"version": "2026.510.7",
|
|
4
4
|
"description": "Roll — Roll out features with AI agents",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "find tests/unit tests/integration -name '*.bats' | sort | xargs ./tests/helpers/bats-core/bin/bats"
|