swellai 1.0.0
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/README.md +711 -0
- package/dist/agents/linear-agent.d.ts +32 -0
- package/dist/agents/linear-agent.d.ts.map +1 -0
- package/dist/agents/linear-agent.js +263 -0
- package/dist/agents/linear-agent.js.map +1 -0
- package/dist/agents/planning-agent.d.ts +36 -0
- package/dist/agents/planning-agent.d.ts.map +1 -0
- package/dist/agents/planning-agent.js +248 -0
- package/dist/agents/planning-agent.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +102 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +11 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +257 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/manifest.d.ts +27 -0
- package/dist/cli/manifest.d.ts.map +1 -0
- package/dist/cli/manifest.js +65 -0
- package/dist/cli/manifest.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/claude-agent-sdk.d.ts +73 -0
- package/dist/lib/claude-agent-sdk.d.ts.map +1 -0
- package/dist/lib/claude-agent-sdk.js +114 -0
- package/dist/lib/claude-agent-sdk.js.map +1 -0
- package/dist/lib/conversation-logger.d.ts +66 -0
- package/dist/lib/conversation-logger.d.ts.map +1 -0
- package/dist/lib/conversation-logger.js +159 -0
- package/dist/lib/conversation-logger.js.map +1 -0
- package/dist/lib/opencode.d.ts +68 -0
- package/dist/lib/opencode.d.ts.map +1 -0
- package/dist/lib/opencode.js +151 -0
- package/dist/lib/opencode.js.map +1 -0
- package/dist/lib/turso-schema.d.ts +13 -0
- package/dist/lib/turso-schema.d.ts.map +1 -0
- package/dist/lib/turso-schema.js +69 -0
- package/dist/lib/turso-schema.js.map +1 -0
- package/dist/lib/turso.d.ts +56 -0
- package/dist/lib/turso.d.ts.map +1 -0
- package/dist/lib/turso.js +144 -0
- package/dist/lib/turso.js.map +1 -0
- package/dist/lib/types.d.ts +31 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +20 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts +34 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +72 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/scripts/build-templates.d.ts +17 -0
- package/dist/scripts/build-templates.d.ts.map +1 -0
- package/dist/scripts/build-templates.js +132 -0
- package/dist/scripts/build-templates.js.map +1 -0
- package/dist/scripts/claude-agent-runner.d.ts +28 -0
- package/dist/scripts/claude-agent-runner.d.ts.map +1 -0
- package/dist/scripts/claude-agent-runner.js +278 -0
- package/dist/scripts/claude-agent-runner.js.map +1 -0
- package/dist/src/agents/linear-agent.d.ts +32 -0
- package/dist/src/agents/linear-agent.d.ts.map +1 -0
- package/dist/src/agents/linear-agent.js +285 -0
- package/dist/src/agents/linear-agent.js.map +1 -0
- package/dist/src/agents/planning-agent.d.ts +36 -0
- package/dist/src/agents/planning-agent.d.ts.map +1 -0
- package/dist/src/agents/planning-agent.js +248 -0
- package/dist/src/agents/planning-agent.js.map +1 -0
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +102 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/install.d.ts +11 -0
- package/dist/src/cli/install.d.ts.map +1 -0
- package/dist/src/cli/install.js +257 -0
- package/dist/src/cli/install.js.map +1 -0
- package/dist/src/cli/manifest.d.ts +27 -0
- package/dist/src/cli/manifest.d.ts.map +1 -0
- package/dist/src/cli/manifest.js +65 -0
- package/dist/src/cli/manifest.js.map +1 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +17 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/claude-agent-sdk.d.ts +73 -0
- package/dist/src/lib/claude-agent-sdk.d.ts.map +1 -0
- package/dist/src/lib/claude-agent-sdk.js +114 -0
- package/dist/src/lib/claude-agent-sdk.js.map +1 -0
- package/dist/src/lib/conversation-logger.d.ts +66 -0
- package/dist/src/lib/conversation-logger.d.ts.map +1 -0
- package/dist/src/lib/conversation-logger.js +159 -0
- package/dist/src/lib/conversation-logger.js.map +1 -0
- package/dist/src/lib/opencode.d.ts +153 -0
- package/dist/src/lib/opencode.d.ts.map +1 -0
- package/dist/src/lib/opencode.js +153 -0
- package/dist/src/lib/opencode.js.map +1 -0
- package/dist/src/lib/turso-schema.d.ts +13 -0
- package/dist/src/lib/turso-schema.d.ts.map +1 -0
- package/dist/src/lib/turso-schema.js +69 -0
- package/dist/src/lib/turso-schema.js.map +1 -0
- package/dist/src/lib/turso.d.ts +56 -0
- package/dist/src/lib/turso.d.ts.map +1 -0
- package/dist/src/lib/turso.js +144 -0
- package/dist/src/lib/turso.js.map +1 -0
- package/dist/src/lib/types.d.ts +31 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +20 -0
- package/dist/src/lib/types.js.map +1 -0
- package/dist/src/lib/utils.d.ts +34 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +72 -0
- package/dist/src/lib/utils.js.map +1 -0
- package/package.json +63 -0
- package/templates/.env.example +51 -0
- package/templates/agents/codebase-analyzer.md +121 -0
- package/templates/agents/codebase-locator.md +105 -0
- package/templates/agents/coding-agent.md +187 -0
- package/templates/agents/debug-agent.md +300 -0
- package/templates/prompts/consolidate-and-create-linear.md +282 -0
- package/templates/prompts/implementation.md +94 -0
- package/templates/prompts/plan-generation.md +171 -0
- package/templates/prompts/review.md +39 -0
- package/templates/prompts/verify.md +80 -0
- package/templates/scripts/claude-agent-runner.js +12887 -0
- package/templates/scripts/detect-runtime.sh +95 -0
- package/templates/scripts/linear-agent.js +1753 -0
- package/templates/scripts/planning-agent.js +1738 -0
- package/templates/workflows/claude-implement.yml +931 -0
- package/templates/workflows/claude-plan.yml +301 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
name: Claude Plan - Multi-Provider Implementation Planning
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issues:
|
|
5
|
+
types: [opened, labeled]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
issue_number:
|
|
9
|
+
description: 'Issue number to generate plan for'
|
|
10
|
+
required: true
|
|
11
|
+
type: number
|
|
12
|
+
linear_project_id:
|
|
13
|
+
description: 'Linear project ID to add issues to (optional)'
|
|
14
|
+
required: false
|
|
15
|
+
type: string
|
|
16
|
+
run_anthropic:
|
|
17
|
+
description: 'Run Anthropic Claude provider'
|
|
18
|
+
required: false
|
|
19
|
+
type: boolean
|
|
20
|
+
default: true
|
|
21
|
+
run_openai:
|
|
22
|
+
description: 'Run OpenAI GPT provider'
|
|
23
|
+
required: false
|
|
24
|
+
type: boolean
|
|
25
|
+
default: true
|
|
26
|
+
run_google:
|
|
27
|
+
description: 'Run Google Gemini provider'
|
|
28
|
+
required: false
|
|
29
|
+
type: boolean
|
|
30
|
+
default: true
|
|
31
|
+
anthropic_model:
|
|
32
|
+
description: 'Anthropic model to use'
|
|
33
|
+
required: false
|
|
34
|
+
type: string
|
|
35
|
+
default: 'claude-opus-4-5'
|
|
36
|
+
openai_model:
|
|
37
|
+
description: 'OpenAI model to use'
|
|
38
|
+
required: false
|
|
39
|
+
type: string
|
|
40
|
+
default: 'gpt-5.2-pro'
|
|
41
|
+
google_model:
|
|
42
|
+
description: 'Google model to use'
|
|
43
|
+
required: false
|
|
44
|
+
type: string
|
|
45
|
+
default: 'gemini-2.5-pro'
|
|
46
|
+
|
|
47
|
+
jobs:
|
|
48
|
+
# Get issue details once and share with all jobs
|
|
49
|
+
get-issue:
|
|
50
|
+
if: |
|
|
51
|
+
github.event_name == 'workflow_dispatch' ||
|
|
52
|
+
(github.event_name == 'issues' && contains(github.event.issue.labels.*.name, 'claude-plan'))
|
|
53
|
+
runs-on: ubuntu-latest
|
|
54
|
+
outputs:
|
|
55
|
+
number: ${{ steps.issue.outputs.number }}
|
|
56
|
+
title: ${{ steps.issue.outputs.title }}
|
|
57
|
+
body: ${{ steps.body.outputs.content }}
|
|
58
|
+
steps:
|
|
59
|
+
- name: Checkout repository
|
|
60
|
+
uses: actions/checkout@v4
|
|
61
|
+
|
|
62
|
+
- name: Get issue details
|
|
63
|
+
id: issue
|
|
64
|
+
env:
|
|
65
|
+
GH_TOKEN: ${{ secrets.GH_PAT }}
|
|
66
|
+
run: |
|
|
67
|
+
# Determine issue number based on event type
|
|
68
|
+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
69
|
+
ISSUE_NUMBER="${{ inputs.issue_number }}"
|
|
70
|
+
else
|
|
71
|
+
ISSUE_NUMBER="${{ github.event.issue.number }}"
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
# Validate issue number is provided
|
|
75
|
+
if [ -z "$ISSUE_NUMBER" ]; then
|
|
76
|
+
echo "Error: Issue number is required"
|
|
77
|
+
exit 1
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# Fetch issue details from GitHub
|
|
81
|
+
ISSUE_JSON=$(gh issue view "$ISSUE_NUMBER" --json title,body)
|
|
82
|
+
|
|
83
|
+
# Output issue number and title
|
|
84
|
+
echo "number=$ISSUE_NUMBER" >> $GITHUB_OUTPUT
|
|
85
|
+
echo "title=$(echo "$ISSUE_JSON" | jq -r '.title')" >> $GITHUB_OUTPUT
|
|
86
|
+
|
|
87
|
+
# Write body to file to handle multiline content
|
|
88
|
+
echo "$ISSUE_JSON" | jq -r '.body // ""' > /tmp/issue_body.txt
|
|
89
|
+
echo "body_file=/tmp/issue_body.txt" >> $GITHUB_OUTPUT
|
|
90
|
+
|
|
91
|
+
- name: Read issue body
|
|
92
|
+
id: body
|
|
93
|
+
run: |
|
|
94
|
+
BODY=$(cat ${{ steps.issue.outputs.body_file }})
|
|
95
|
+
# Use multiline output format for GitHub Actions
|
|
96
|
+
echo "content<<EOF" >> $GITHUB_OUTPUT
|
|
97
|
+
echo "$BODY" >> $GITHUB_OUTPUT
|
|
98
|
+
echo "EOF" >> $GITHUB_OUTPUT
|
|
99
|
+
|
|
100
|
+
# Generate plan from Anthropic Claude
|
|
101
|
+
generate-plan-anthropic:
|
|
102
|
+
needs: get-issue
|
|
103
|
+
if: github.event_name == 'issues' || inputs.run_anthropic
|
|
104
|
+
runs-on: ubuntu-latest
|
|
105
|
+
outputs:
|
|
106
|
+
plan: ${{ steps.generate.outputs.plan }}
|
|
107
|
+
success: ${{ steps.generate.outputs.success }}
|
|
108
|
+
steps:
|
|
109
|
+
- name: Checkout repository
|
|
110
|
+
uses: actions/checkout@v4
|
|
111
|
+
|
|
112
|
+
- name: Setup Bun
|
|
113
|
+
uses: oven-sh/setup-bun@v1
|
|
114
|
+
with:
|
|
115
|
+
bun-version: latest
|
|
116
|
+
|
|
117
|
+
- name: Install OpenCode CLI
|
|
118
|
+
run: |
|
|
119
|
+
echo "Installing OpenCode CLI..."
|
|
120
|
+
bun install -g opencode-ai@latest
|
|
121
|
+
echo "OpenCode CLI installed: $(opencode --version || echo 'version check not supported')"
|
|
122
|
+
|
|
123
|
+
- name: Install dependencies
|
|
124
|
+
run: bun install
|
|
125
|
+
|
|
126
|
+
- name: Generate plan
|
|
127
|
+
id: generate
|
|
128
|
+
env:
|
|
129
|
+
PROVIDER: anthropic
|
|
130
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
131
|
+
MODEL: ${{ github.event_name == 'workflow_dispatch' && inputs.anthropic_model || 'claude-opus-4-5' }}
|
|
132
|
+
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
133
|
+
ISSUE_BODY: ${{ needs.get-issue.outputs.body }}
|
|
134
|
+
run: |
|
|
135
|
+
# Generate plan using the bundled script from installed location
|
|
136
|
+
set +e
|
|
137
|
+
PLAN=$(node .github/claude-parallel/scripts/planning-agent.js "$ISSUE_TITLE: $ISSUE_BODY")
|
|
138
|
+
EXIT_CODE=$?
|
|
139
|
+
set -e
|
|
140
|
+
|
|
141
|
+
# Check if generation was successful
|
|
142
|
+
if [ $EXIT_CODE -ne 0 ]; then
|
|
143
|
+
echo "Error: Plan generation failed with exit code $EXIT_CODE"
|
|
144
|
+
exit $EXIT_CODE
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
# Use multiline output format
|
|
148
|
+
echo "plan<<EOF" >> $GITHUB_OUTPUT
|
|
149
|
+
echo "$PLAN" >> $GITHUB_OUTPUT
|
|
150
|
+
echo "EOF" >> $GITHUB_OUTPUT
|
|
151
|
+
echo "success=true" >> $GITHUB_OUTPUT
|
|
152
|
+
|
|
153
|
+
# Generate plan from OpenAI GPT
|
|
154
|
+
generate-plan-openai:
|
|
155
|
+
needs: get-issue
|
|
156
|
+
if: github.event_name == 'issues' || inputs.run_openai
|
|
157
|
+
runs-on: ubuntu-latest
|
|
158
|
+
outputs:
|
|
159
|
+
plan: ${{ steps.generate.outputs.plan }}
|
|
160
|
+
success: ${{ steps.generate.outputs.success }}
|
|
161
|
+
steps:
|
|
162
|
+
- name: Checkout repository
|
|
163
|
+
uses: actions/checkout@v4
|
|
164
|
+
|
|
165
|
+
- name: Setup Bun
|
|
166
|
+
uses: oven-sh/setup-bun@v1
|
|
167
|
+
with:
|
|
168
|
+
bun-version: latest
|
|
169
|
+
|
|
170
|
+
- name: Install OpenCode CLI
|
|
171
|
+
run: |
|
|
172
|
+
echo "Installing OpenCode CLI..."
|
|
173
|
+
bun install -g opencode-ai@latest
|
|
174
|
+
echo "OpenCode CLI installed: $(opencode --version || echo 'version check not supported')"
|
|
175
|
+
|
|
176
|
+
- name: Install dependencies
|
|
177
|
+
run: bun install
|
|
178
|
+
|
|
179
|
+
- name: Generate plan
|
|
180
|
+
id: generate
|
|
181
|
+
env:
|
|
182
|
+
PROVIDER: openai
|
|
183
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
184
|
+
MODEL: ${{ github.event_name == 'workflow_dispatch' && inputs.openai_model || 'gpt-5.2-pro' }}
|
|
185
|
+
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
186
|
+
ISSUE_BODY: ${{ needs.get-issue.outputs.body }}
|
|
187
|
+
run: |
|
|
188
|
+
# Generate plan using the bundled script from installed location
|
|
189
|
+
set +e
|
|
190
|
+
PLAN=$(node .github/claude-parallel/scripts/planning-agent.js "$ISSUE_TITLE: $ISSUE_BODY")
|
|
191
|
+
EXIT_CODE=$?
|
|
192
|
+
set -e
|
|
193
|
+
|
|
194
|
+
# Check if generation was successful
|
|
195
|
+
if [ $EXIT_CODE -ne 0 ]; then
|
|
196
|
+
echo "Error: Plan generation failed with exit code $EXIT_CODE"
|
|
197
|
+
exit $EXIT_CODE
|
|
198
|
+
fi
|
|
199
|
+
|
|
200
|
+
# Use multiline output format
|
|
201
|
+
echo "plan<<EOF" >> $GITHUB_OUTPUT
|
|
202
|
+
echo "$PLAN" >> $GITHUB_OUTPUT
|
|
203
|
+
echo "EOF" >> $GITHUB_OUTPUT
|
|
204
|
+
echo "success=true" >> $GITHUB_OUTPUT
|
|
205
|
+
|
|
206
|
+
# Generate plan from Google Gemini
|
|
207
|
+
generate-plan-google:
|
|
208
|
+
needs: get-issue
|
|
209
|
+
if: github.event_name == 'issues' || inputs.run_google
|
|
210
|
+
runs-on: ubuntu-latest
|
|
211
|
+
outputs:
|
|
212
|
+
plan: ${{ steps.generate.outputs.plan }}
|
|
213
|
+
success: ${{ steps.generate.outputs.success }}
|
|
214
|
+
steps:
|
|
215
|
+
- name: Checkout repository
|
|
216
|
+
uses: actions/checkout@v4
|
|
217
|
+
|
|
218
|
+
- name: Setup Bun
|
|
219
|
+
uses: oven-sh/setup-bun@v1
|
|
220
|
+
with:
|
|
221
|
+
bun-version: latest
|
|
222
|
+
|
|
223
|
+
- name: Install OpenCode CLI
|
|
224
|
+
run: |
|
|
225
|
+
echo "Installing OpenCode CLI..."
|
|
226
|
+
bun install -g opencode-ai@latest
|
|
227
|
+
echo "OpenCode CLI installed: $(opencode --version || echo 'version check not supported')"
|
|
228
|
+
|
|
229
|
+
- name: Install dependencies
|
|
230
|
+
run: bun install
|
|
231
|
+
|
|
232
|
+
- name: Generate plan
|
|
233
|
+
id: generate
|
|
234
|
+
env:
|
|
235
|
+
PROVIDER: google
|
|
236
|
+
GOOGLE_GENERATIVE_AI_API_KEY: ${{ secrets.GOOGLE_GENERATIVE_AI_API_KEY }}
|
|
237
|
+
MODEL: ${{ github.event_name == 'workflow_dispatch' && inputs.google_model || 'gemini-2.5-pro' }}
|
|
238
|
+
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
239
|
+
ISSUE_BODY: ${{ needs.get-issue.outputs.body }}
|
|
240
|
+
run: |
|
|
241
|
+
# Generate plan using the bundled script from installed location
|
|
242
|
+
set +e
|
|
243
|
+
PLAN=$(node .github/claude-parallel/scripts/planning-agent.js "$ISSUE_TITLE: $ISSUE_BODY")
|
|
244
|
+
EXIT_CODE=$?
|
|
245
|
+
set -e
|
|
246
|
+
|
|
247
|
+
# Check if generation was successful
|
|
248
|
+
if [ $EXIT_CODE -ne 0 ]; then
|
|
249
|
+
echo "Error: Plan generation failed with exit code $EXIT_CODE"
|
|
250
|
+
exit $EXIT_CODE
|
|
251
|
+
fi
|
|
252
|
+
|
|
253
|
+
# Use multiline output format
|
|
254
|
+
echo "plan<<EOF" >> $GITHUB_OUTPUT
|
|
255
|
+
echo "$PLAN" >> $GITHUB_OUTPUT
|
|
256
|
+
echo "EOF" >> $GITHUB_OUTPUT
|
|
257
|
+
echo "success=true" >> $GITHUB_OUTPUT
|
|
258
|
+
|
|
259
|
+
# Consolidate all plans and create Linear issues
|
|
260
|
+
consolidate-and-create-linear:
|
|
261
|
+
needs: [get-issue, generate-plan-anthropic, generate-plan-openai, generate-plan-google]
|
|
262
|
+
if: |
|
|
263
|
+
always() &&
|
|
264
|
+
(needs.generate-plan-anthropic.result == 'success' ||
|
|
265
|
+
needs.generate-plan-openai.result == 'success' ||
|
|
266
|
+
needs.generate-plan-google.result == 'success')
|
|
267
|
+
runs-on: ubuntu-latest
|
|
268
|
+
steps:
|
|
269
|
+
- name: Checkout repository
|
|
270
|
+
uses: actions/checkout@v4
|
|
271
|
+
|
|
272
|
+
- name: Setup Bun
|
|
273
|
+
uses: oven-sh/setup-bun@v1
|
|
274
|
+
with:
|
|
275
|
+
bun-version: latest
|
|
276
|
+
|
|
277
|
+
- name: Install OpenCode CLI
|
|
278
|
+
run: |
|
|
279
|
+
echo "Installing OpenCode CLI..."
|
|
280
|
+
bun install -g opencode-ai@latest
|
|
281
|
+
echo "OpenCode CLI installed: $(opencode --version || echo 'version check not supported')"
|
|
282
|
+
|
|
283
|
+
- name: Install dependencies
|
|
284
|
+
run: bun install
|
|
285
|
+
|
|
286
|
+
- name: Consolidate plans and create Linear issues
|
|
287
|
+
id: consolidate
|
|
288
|
+
env:
|
|
289
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
290
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
291
|
+
LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
|
|
292
|
+
LINEAR_TEAM_ID: ${{ secrets.LINEAR_TEAM_ID }}
|
|
293
|
+
LINEAR_PROJECT_ID: ${{ github.event_name == 'workflow_dispatch' && inputs.linear_project_id || secrets.LINEAR_PROJECT_ID }}
|
|
294
|
+
GITHUB_ISSUE_URL: ${{ github.event.repository.html_url }}/issues/${{ needs.get-issue.outputs.number }}
|
|
295
|
+
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
296
|
+
ANTHROPIC_PLAN: ${{ needs.generate-plan-anthropic.result == 'success' && needs.generate-plan-anthropic.outputs.plan || '' }}
|
|
297
|
+
OPENAI_PLAN: ${{ needs.generate-plan-openai.result == 'success' && needs.generate-plan-openai.outputs.plan || '' }}
|
|
298
|
+
GOOGLE_PLAN: ${{ needs.generate-plan-google.result == 'success' && needs.generate-plan-google.outputs.plan || '' }}
|
|
299
|
+
run: |
|
|
300
|
+
# Run linear agent using the bundled script from installed location
|
|
301
|
+
node .github/claude-parallel/scripts/linear-agent.js
|