@seanyao/roll 2026.505.3 → 2026.506.2

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 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.505.3"
7
+ VERSION="2026.506.2"
8
8
  ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
9
9
  ROLL_CONFIG="${ROLL_HOME}/config.yaml"
10
10
  ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
@@ -64,6 +64,7 @@ lower_name() {
64
64
  echo "$1" | tr '[:upper:]' '[:lower:]'
65
65
  }
66
66
 
67
+
67
68
  # Check if an AI tool is actually installed.
68
69
  # Most tools create their own config dir; Trae on macOS uses Library/Application Support
69
70
  # and expects roll to manage ~/.trae/ — so we detect via the app directory instead.
@@ -78,6 +79,10 @@ _is_ai_installed() {
78
79
  [[ -d "$HOME/.config/Trae" ]]
79
80
  return
80
81
  ;;
82
+ opencode)
83
+ [[ -x "$HOME/.opencode/bin/opencode" ]]
84
+ return
85
+ ;;
81
86
  esac
82
87
  return 1
83
88
  }
@@ -117,6 +122,7 @@ _ensure_config_entries() {
117
122
  "ai_codex:~/.codex|AGENTS.md|AGENTS.md"
118
123
  "ai_cursor:~/.cursor|.cursor-rules|.cursor-rules"
119
124
  "ai_trae:~/.trae|user_rules.md|project_rules.md"
125
+ "ai_opencode:~/.config/opencode|AGENTS.md|AGENTS.md"
120
126
  "ai_openclaw:~/.openclaw/workspace|AGENTS.md|AGENTS.md"
121
127
  )
122
128
 
@@ -328,6 +334,7 @@ ai_kimi: ~/.kimi|AGENTS.md|AGENTS.md
328
334
  ai_codex: ~/.codex|AGENTS.md|AGENTS.md
329
335
  ai_cursor: ~/.cursor|.cursor-rules|.cursor-rules
330
336
  ai_trae: ~/.trae|user_rules.md|project_rules.md
337
+ ai_opencode: ~/.config/opencode|AGENTS.md|AGENTS.md
331
338
  ai_openclaw: ~/.openclaw/workspace|AGENTS.md|AGENTS.md
332
339
 
333
340
  # User preferences
@@ -711,6 +718,10 @@ cmd_init() {
711
718
  _write_backlog "$project_dir/BACKLOG.md"
712
719
  _ensure_features_dir "$project_dir/docs/features"
713
720
  print_merge_summary
721
+
722
+ echo ""
723
+ info "Syncing conventions to AI tools... 正在同步约定到 AI 工具..."
724
+ _sync_conventions
714
725
  echo ""
715
726
 
716
727
  if [[ "$has_agents" == "true" ]]; then
@@ -720,6 +731,7 @@ cmd_init() {
720
731
  fi
721
732
  }
722
733
 
734
+
723
735
  # ─── Helper: merge global preamble + template into output ────────────────────
724
736
  merge_convention() {
725
737
  local filename="$1"
@@ -30,6 +30,10 @@
30
30
  - **Testing**: Unit >80%. E2E for flows. No DB mocks.
31
31
 
32
32
  ## 4. Workflow
33
+ - **Scope Gate**: Only implement what is explicitly listed in the AC. Nothing more.
34
+ - Requests made in conversation are NOT AC — capture with `roll-jot` first.
35
+ - Any new Story/Fix requires design doc + user confirmation before TCR starts.
36
+ - Do not commit without user approval unless explicitly told to auto-commit.
33
37
  - **TCR**: Test -> Green = Commit / Red = Revert. No WIP commits.
34
38
  - Before implementing: confirm exact files, test strategy, and commit message
35
39
  draft with user. Do not write code until approved.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "2026.505.3",
3
+ "version": "2026.506.2",
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"