swellai 1.0.1 → 1.0.3
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/dist/src/cli/install.d.ts.map +1 -1
- package/dist/src/cli/install.js +7 -3
- package/dist/src/cli/install.js.map +1 -1
- package/package.json +2 -2
- package/templates/actions/detect-runtime/action.yml +113 -0
- package/templates/actions/fetch-agents/action.yml +34 -0
- package/templates/actions/get-issue-details/action.yml +60 -0
- package/templates/actions/setup-claude/action.yml +45 -0
- package/templates/actions/setup-opencode/action.yml +128 -0
- package/templates/workflows/claude-plan.yml +4 -4
- package/dist/agents/linear-agent.d.ts +0 -32
- package/dist/agents/linear-agent.d.ts.map +0 -1
- package/dist/agents/linear-agent.js +0 -263
- package/dist/agents/linear-agent.js.map +0 -1
- package/dist/agents/planning-agent.d.ts +0 -36
- package/dist/agents/planning-agent.d.ts.map +0 -1
- package/dist/agents/planning-agent.js +0 -248
- package/dist/agents/planning-agent.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -102
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/install.d.ts +0 -11
- package/dist/cli/install.d.ts.map +0 -1
- package/dist/cli/install.js +0 -257
- package/dist/cli/install.js.map +0 -1
- package/dist/cli/manifest.d.ts +0 -27
- package/dist/cli/manifest.d.ts.map +0 -1
- package/dist/cli/manifest.js +0 -65
- package/dist/cli/manifest.js.map +0 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/lib/claude-agent-sdk.d.ts +0 -73
- package/dist/lib/claude-agent-sdk.d.ts.map +0 -1
- package/dist/lib/claude-agent-sdk.js +0 -114
- package/dist/lib/claude-agent-sdk.js.map +0 -1
- package/dist/lib/conversation-logger.d.ts +0 -66
- package/dist/lib/conversation-logger.d.ts.map +0 -1
- package/dist/lib/conversation-logger.js +0 -159
- package/dist/lib/conversation-logger.js.map +0 -1
- package/dist/lib/opencode.d.ts +0 -68
- package/dist/lib/opencode.d.ts.map +0 -1
- package/dist/lib/opencode.js +0 -151
- package/dist/lib/opencode.js.map +0 -1
- package/dist/lib/turso-schema.d.ts +0 -13
- package/dist/lib/turso-schema.d.ts.map +0 -1
- package/dist/lib/turso-schema.js +0 -69
- package/dist/lib/turso-schema.js.map +0 -1
- package/dist/lib/turso.d.ts +0 -56
- package/dist/lib/turso.d.ts.map +0 -1
- package/dist/lib/turso.js +0 -144
- package/dist/lib/turso.js.map +0 -1
- package/dist/lib/types.d.ts +0 -31
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -20
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -34
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -72
- package/dist/lib/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8MD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GzE"}
|
package/dist/src/cli/install.js
CHANGED
|
@@ -4,11 +4,11 @@ import { fileURLToPath } from "node:url";
|
|
|
4
4
|
import { calculateFileHash, createManifest, isFileModified, readManifest, writeManifest, } from "./manifest.js";
|
|
5
5
|
// Get the directory where the installed package is located
|
|
6
6
|
function getPackageDir() {
|
|
7
|
-
// When running from dist/cli/install.js, we need to go up to the package root
|
|
7
|
+
// When running from dist/src/cli/install.js, we need to go up to the package root
|
|
8
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
9
|
const __dirname = dirname(__filename);
|
|
10
|
-
// dist/cli/install.js -> go up
|
|
11
|
-
return join(__dirname, "..", "..");
|
|
10
|
+
// dist/src/cli/install.js -> go up three levels to package root
|
|
11
|
+
return join(__dirname, "..", "..", "..");
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Find all template files recursively
|
|
@@ -45,6 +45,10 @@ function getDestinationPath(templateRelativePath) {
|
|
|
45
45
|
if (templateRelativePath.startsWith("prompts/")) {
|
|
46
46
|
return templateRelativePath.replace("prompts/", ".github/claude-parallel/prompts/");
|
|
47
47
|
}
|
|
48
|
+
// actions/* -> .github/actions/*
|
|
49
|
+
if (templateRelativePath.startsWith("actions/")) {
|
|
50
|
+
return templateRelativePath.replace("actions/", ".github/actions/");
|
|
51
|
+
}
|
|
48
52
|
// agents/* -> .claude/agents/*
|
|
49
53
|
if (templateRelativePath.startsWith("agents/")) {
|
|
50
54
|
return templateRelativePath.replace("agents/", ".claude/agents/");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EAEd,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AAgBvB,2DAA2D;AAC3D,SAAS,aAAa;IACpB,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "swellai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Install claude-parallel workflows, scripts, and agents into any repository",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"swellai": "./dist/cli/index.js"
|
|
7
|
+
"swellai": "./dist/src/cli/index.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/",
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
name: 'Detect Project Runtime'
|
|
2
|
+
description: 'Auto-detects project runtime, package manager, and build/test configuration'
|
|
3
|
+
|
|
4
|
+
outputs:
|
|
5
|
+
runtime:
|
|
6
|
+
description: 'Detected runtime (js, python, go, rust, unknown)'
|
|
7
|
+
value: ${{ steps.detect.outputs.runtime }}
|
|
8
|
+
package_manager:
|
|
9
|
+
description: 'Detected package manager (bun, pnpm, yarn, npm, pip, poetry, go, cargo, unknown)'
|
|
10
|
+
value: ${{ steps.detect.outputs.package_manager }}
|
|
11
|
+
has_build:
|
|
12
|
+
description: 'Whether project has a build script (true/false)'
|
|
13
|
+
value: ${{ steps.detect.outputs.has_build }}
|
|
14
|
+
has_tests:
|
|
15
|
+
description: 'Whether project has tests (true/false)'
|
|
16
|
+
value: ${{ steps.detect.outputs.has_tests }}
|
|
17
|
+
|
|
18
|
+
runs:
|
|
19
|
+
using: 'composite'
|
|
20
|
+
steps:
|
|
21
|
+
- name: Detect runtime and configuration
|
|
22
|
+
id: detect
|
|
23
|
+
shell: bash
|
|
24
|
+
run: |
|
|
25
|
+
# Initialize outputs
|
|
26
|
+
runtime="unknown"
|
|
27
|
+
package_manager="unknown"
|
|
28
|
+
has_build="false"
|
|
29
|
+
has_tests="false"
|
|
30
|
+
|
|
31
|
+
# Detect JavaScript/TypeScript
|
|
32
|
+
if [[ -f "package.json" ]]; then
|
|
33
|
+
runtime="js"
|
|
34
|
+
|
|
35
|
+
# Detect package manager (check lockfiles in order of specificity)
|
|
36
|
+
if [[ -f "bun.lockb" ]]; then
|
|
37
|
+
package_manager="bun"
|
|
38
|
+
elif [[ -f "pnpm-lock.yaml" ]]; then
|
|
39
|
+
package_manager="pnpm"
|
|
40
|
+
elif [[ -f "yarn.lock" ]]; then
|
|
41
|
+
package_manager="yarn"
|
|
42
|
+
elif [[ -f "package-lock.json" ]]; then
|
|
43
|
+
package_manager="npm"
|
|
44
|
+
else
|
|
45
|
+
# Default to npm if only package.json exists
|
|
46
|
+
package_manager="npm"
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
# Check for build script in package.json
|
|
50
|
+
if grep -q '"build"' package.json; then
|
|
51
|
+
has_build="true"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# Check for test script in package.json
|
|
55
|
+
if grep -q '"test"' package.json; then
|
|
56
|
+
has_tests="true"
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Detect Python
|
|
60
|
+
elif [[ -f "pyproject.toml" ]] || [[ -f "requirements.txt" ]] || [[ -f "setup.py" ]]; then
|
|
61
|
+
runtime="python"
|
|
62
|
+
|
|
63
|
+
# Detect package manager
|
|
64
|
+
if [[ -f "poetry.lock" ]]; then
|
|
65
|
+
package_manager="poetry"
|
|
66
|
+
else
|
|
67
|
+
package_manager="pip"
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# Check for build-system in pyproject.toml
|
|
71
|
+
if [[ -f "pyproject.toml" ]] && grep -q '\[build-system\]' pyproject.toml; then
|
|
72
|
+
has_build="true"
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# Check for test directories or pytest
|
|
76
|
+
if [[ -d "tests" ]] || [[ -d "test" ]] || grep -q "pytest" requirements.txt 2>/dev/null || grep -q "pytest" pyproject.toml 2>/dev/null; then
|
|
77
|
+
has_tests="true"
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# Detect Go
|
|
81
|
+
elif [[ -f "go.mod" ]]; then
|
|
82
|
+
runtime="go"
|
|
83
|
+
package_manager="go"
|
|
84
|
+
has_build="true" # Go always has built-in build
|
|
85
|
+
|
|
86
|
+
# Check for test files
|
|
87
|
+
if ls *_test.go >/dev/null 2>&1; then
|
|
88
|
+
has_tests="true"
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
# Detect Rust
|
|
92
|
+
elif [[ -f "Cargo.toml" ]]; then
|
|
93
|
+
runtime="rust"
|
|
94
|
+
package_manager="cargo"
|
|
95
|
+
has_build="true" # Cargo always has built-in build
|
|
96
|
+
|
|
97
|
+
# Check for tests directory or dev-dependencies in Cargo.toml
|
|
98
|
+
if [[ -d "tests" ]] || grep -q '\[dev-dependencies\]' Cargo.toml; then
|
|
99
|
+
has_tests="true"
|
|
100
|
+
fi
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
# Output results
|
|
104
|
+
echo "runtime=$runtime" >> $GITHUB_OUTPUT
|
|
105
|
+
echo "package_manager=$package_manager" >> $GITHUB_OUTPUT
|
|
106
|
+
echo "has_build=$has_build" >> $GITHUB_OUTPUT
|
|
107
|
+
echo "has_tests=$has_tests" >> $GITHUB_OUTPUT
|
|
108
|
+
|
|
109
|
+
# Log detected configuration
|
|
110
|
+
echo "Detected runtime: $runtime"
|
|
111
|
+
echo "Package manager: $package_manager"
|
|
112
|
+
echo "Has build script: $has_build"
|
|
113
|
+
echo "Has tests: $has_tests"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: 'Fetch Claude Agents'
|
|
2
|
+
description: 'Downloads custom Claude agents from a central repository'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
repo:
|
|
6
|
+
description: 'Source repository for agents (format: owner/repo)'
|
|
7
|
+
required: false
|
|
8
|
+
default: 'mkrueger12/claude-parallel'
|
|
9
|
+
ref:
|
|
10
|
+
description: 'Git ref (branch, tag, or commit) to fetch from'
|
|
11
|
+
required: false
|
|
12
|
+
default: 'main'
|
|
13
|
+
|
|
14
|
+
runs:
|
|
15
|
+
using: 'composite'
|
|
16
|
+
steps:
|
|
17
|
+
- name: Create agents directory
|
|
18
|
+
shell: bash
|
|
19
|
+
run: |
|
|
20
|
+
mkdir -p "$HOME/.claude/agents"
|
|
21
|
+
|
|
22
|
+
- name: Download agents
|
|
23
|
+
shell: bash
|
|
24
|
+
run: |
|
|
25
|
+
for agent in codebase-analyzer codebase-locator coding-agent debug-agent; do
|
|
26
|
+
curl -fsSL "https://raw.githubusercontent.com/${{ inputs.repo }}/${{ inputs.ref }}/.claude/agents/${agent}.md" \
|
|
27
|
+
-o "$HOME/.claude/agents/${agent}.md"
|
|
28
|
+
done
|
|
29
|
+
|
|
30
|
+
- name: List installed agents
|
|
31
|
+
shell: bash
|
|
32
|
+
run: |
|
|
33
|
+
echo "Installed agents:"
|
|
34
|
+
ls -la "$HOME/.claude/agents/"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: Get Issue Details
|
|
2
|
+
description: Fetches issue details from GitHub and handles both issues event and workflow_dispatch triggers
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
issue_number:
|
|
6
|
+
description: 'Issue number (used for workflow_dispatch)'
|
|
7
|
+
required: false
|
|
8
|
+
github_token:
|
|
9
|
+
description: 'Token for GitHub CLI authentication'
|
|
10
|
+
required: true
|
|
11
|
+
event_name:
|
|
12
|
+
description: 'The github.event_name value'
|
|
13
|
+
required: true
|
|
14
|
+
event_issue_number:
|
|
15
|
+
description: 'The github.event.issue.number value (for issues event)'
|
|
16
|
+
required: false
|
|
17
|
+
|
|
18
|
+
outputs:
|
|
19
|
+
number:
|
|
20
|
+
description: 'The issue number'
|
|
21
|
+
value: ${{ steps.get-details.outputs.number }}
|
|
22
|
+
title:
|
|
23
|
+
description: 'The issue title'
|
|
24
|
+
value: ${{ steps.get-details.outputs.title }}
|
|
25
|
+
body_file:
|
|
26
|
+
description: 'Path to file containing issue body'
|
|
27
|
+
value: ${{ steps.get-details.outputs.body_file }}
|
|
28
|
+
|
|
29
|
+
runs:
|
|
30
|
+
using: composite
|
|
31
|
+
steps:
|
|
32
|
+
- name: Get issue details
|
|
33
|
+
id: get-details
|
|
34
|
+
shell: bash
|
|
35
|
+
env:
|
|
36
|
+
GH_TOKEN: ${{ inputs.github_token }}
|
|
37
|
+
run: |
|
|
38
|
+
# Determine issue number based on event type
|
|
39
|
+
if [ "${{ inputs.event_name }}" = "workflow_dispatch" ]; then
|
|
40
|
+
ISSUE_NUMBER="${{ inputs.issue_number }}"
|
|
41
|
+
else
|
|
42
|
+
ISSUE_NUMBER="${{ inputs.event_issue_number }}"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# Validate issue number is provided
|
|
46
|
+
if [ -z "$ISSUE_NUMBER" ]; then
|
|
47
|
+
echo "Error: Issue number is required"
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
# Fetch issue details from GitHub
|
|
52
|
+
ISSUE_JSON=$(gh issue view "$ISSUE_NUMBER" --json title,body)
|
|
53
|
+
|
|
54
|
+
# Output issue number and title
|
|
55
|
+
echo "number=$ISSUE_NUMBER" >> $GITHUB_OUTPUT
|
|
56
|
+
echo "title=$(echo "$ISSUE_JSON" | jq -r '.title')" >> $GITHUB_OUTPUT
|
|
57
|
+
|
|
58
|
+
# Write body to file to handle multiline content
|
|
59
|
+
echo "$ISSUE_JSON" | jq -r '.body // ""' > /tmp/issue_body.txt
|
|
60
|
+
echo "body_file=/tmp/issue_body.txt" >> $GITHUB_OUTPUT
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: 'Setup Claude CLI'
|
|
2
|
+
description: 'Install Claude CLI and configure authentication'
|
|
3
|
+
inputs:
|
|
4
|
+
claude_code_oauth_token:
|
|
5
|
+
description: 'OAuth token for Claude CLI (preferred method)'
|
|
6
|
+
required: false
|
|
7
|
+
anthropic_api_key:
|
|
8
|
+
description: 'Anthropic API key for Claude CLI (alternative to OAuth)'
|
|
9
|
+
required: false
|
|
10
|
+
outputs:
|
|
11
|
+
auth_method:
|
|
12
|
+
description: 'Authentication method being used (oauth or api_key)'
|
|
13
|
+
value: ${{ steps.set-auth.outputs.auth_method }}
|
|
14
|
+
|
|
15
|
+
runs:
|
|
16
|
+
using: 'composite'
|
|
17
|
+
steps:
|
|
18
|
+
- name: Validate authentication
|
|
19
|
+
shell: bash
|
|
20
|
+
run: |
|
|
21
|
+
if [[ -z "${{ inputs.claude_code_oauth_token }}" ]] && [[ -z "${{ inputs.anthropic_api_key }}" ]]; then
|
|
22
|
+
echo "Error: At least one authentication method must be provided"
|
|
23
|
+
echo "Please provide either claude_code_oauth_token or anthropic_api_key"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
- name: Install Claude CLI
|
|
28
|
+
shell: bash
|
|
29
|
+
run: |
|
|
30
|
+
curl -fsSL https://claude.ai/install.sh | bash
|
|
31
|
+
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
32
|
+
|
|
33
|
+
- name: Set authentication method
|
|
34
|
+
id: set-auth
|
|
35
|
+
shell: bash
|
|
36
|
+
run: |
|
|
37
|
+
if [[ -n "${{ inputs.claude_code_oauth_token }}" ]]; then
|
|
38
|
+
echo "CLAUDE_CODE_OAUTH_TOKEN=${{ inputs.claude_code_oauth_token }}" >> $GITHUB_ENV
|
|
39
|
+
echo "auth_method=oauth" >> $GITHUB_OUTPUT
|
|
40
|
+
echo "Using OAuth token for authentication"
|
|
41
|
+
elif [[ -n "${{ inputs.anthropic_api_key }}" ]]; then
|
|
42
|
+
echo "ANTHROPIC_API_KEY=${{ inputs.anthropic_api_key }}" >> $GITHUB_ENV
|
|
43
|
+
echo "auth_method=api_key" >> $GITHUB_OUTPUT
|
|
44
|
+
echo "Using API key for authentication"
|
|
45
|
+
fi
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
name: 'Setup OpenCode SDK'
|
|
2
|
+
description: 'Install and configure OpenCode SDK with multi-provider authentication and Linear MCP'
|
|
3
|
+
inputs:
|
|
4
|
+
anthropic_api_key:
|
|
5
|
+
description: 'Anthropic API key for Claude provider'
|
|
6
|
+
required: true
|
|
7
|
+
claude_code_oauth_token:
|
|
8
|
+
description: 'Claude Code OAuth token (deprecated - use anthropic_api_key)'
|
|
9
|
+
required: false
|
|
10
|
+
openai_api_key:
|
|
11
|
+
description: 'OpenAI API key for GPT-4 provider'
|
|
12
|
+
required: true
|
|
13
|
+
google_api_key:
|
|
14
|
+
description: 'Google API key for Gemini provider'
|
|
15
|
+
required: true
|
|
16
|
+
linear_api_key:
|
|
17
|
+
description: 'Linear API key for MCP access'
|
|
18
|
+
required: true
|
|
19
|
+
linear_team_id:
|
|
20
|
+
description: 'Linear team ID for issue creation'
|
|
21
|
+
required: true
|
|
22
|
+
linear_project_id:
|
|
23
|
+
description: 'Linear project ID to add issues to (optional)'
|
|
24
|
+
required: false
|
|
25
|
+
default: ''
|
|
26
|
+
anthropic_model:
|
|
27
|
+
description: 'Anthropic model to use'
|
|
28
|
+
required: false
|
|
29
|
+
default: 'claude-sonnet-4-20250514'
|
|
30
|
+
openai_model:
|
|
31
|
+
description: 'OpenAI model to use'
|
|
32
|
+
required: false
|
|
33
|
+
default: 'gpt-4-turbo-preview'
|
|
34
|
+
google_model:
|
|
35
|
+
description: 'Google model to use'
|
|
36
|
+
required: false
|
|
37
|
+
default: 'gemini-2.5-flash'
|
|
38
|
+
outputs:
|
|
39
|
+
status:
|
|
40
|
+
description: 'Setup status indicating successful configuration'
|
|
41
|
+
value: ${{ steps.validate.outputs.status }}
|
|
42
|
+
|
|
43
|
+
runs:
|
|
44
|
+
using: 'composite'
|
|
45
|
+
steps:
|
|
46
|
+
- name: Validate authentication
|
|
47
|
+
id: validate
|
|
48
|
+
shell: bash
|
|
49
|
+
run: |
|
|
50
|
+
echo "Validating required API keys..."
|
|
51
|
+
|
|
52
|
+
# Check all required keys are provided
|
|
53
|
+
if [[ -z "${{ inputs.anthropic_api_key }}" ]]; then
|
|
54
|
+
echo "Error: anthropic_api_key is required"
|
|
55
|
+
exit 1
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
if [[ -z "${{ inputs.openai_api_key }}" ]]; then
|
|
59
|
+
echo "Error: openai_api_key is required"
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
if [[ -z "${{ inputs.google_api_key }}" ]]; then
|
|
64
|
+
echo "Error: google_api_key is required"
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
if [[ -z "${{ inputs.linear_api_key }}" ]]; then
|
|
69
|
+
echo "Error: linear_api_key is required"
|
|
70
|
+
exit 1
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
if [[ -z "${{ inputs.linear_team_id }}" ]]; then
|
|
74
|
+
echo "Error: linear_team_id is required"
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
echo "All required API keys validated successfully"
|
|
79
|
+
echo "status=success" >> $GITHUB_OUTPUT
|
|
80
|
+
|
|
81
|
+
- name: Setup Bun
|
|
82
|
+
uses: oven-sh/setup-bun@v2
|
|
83
|
+
with:
|
|
84
|
+
bun-version: latest
|
|
85
|
+
|
|
86
|
+
- name: Install OpenCode CLI
|
|
87
|
+
shell: bash
|
|
88
|
+
run: |
|
|
89
|
+
echo "Installing OpenCode CLI..."
|
|
90
|
+
bun install -g opencode-ai@latest
|
|
91
|
+
echo "OpenCode CLI installed: $(opencode --version || echo 'version check not supported')"
|
|
92
|
+
|
|
93
|
+
- name: Install dependencies
|
|
94
|
+
shell: bash
|
|
95
|
+
run: |
|
|
96
|
+
echo "Installing dependencies in .github/scripts/"
|
|
97
|
+
cd ${{ github.workspace }}/.github/scripts
|
|
98
|
+
bun install
|
|
99
|
+
echo "Dependencies installed successfully"
|
|
100
|
+
|
|
101
|
+
- name: Set environment variables
|
|
102
|
+
shell: bash
|
|
103
|
+
run: |
|
|
104
|
+
echo "Configuring environment variables..."
|
|
105
|
+
|
|
106
|
+
# Provider API keys
|
|
107
|
+
echo "ANTHROPIC_API_KEY=${{ inputs.anthropic_api_key }}" >> $GITHUB_ENV
|
|
108
|
+
echo "OPENAI_API_KEY=${{ inputs.openai_api_key }}" >> $GITHUB_ENV
|
|
109
|
+
echo "GOOGLE_GENERATIVE_AI_API_KEY=${{ inputs.google_api_key }}" >> $GITHUB_ENV
|
|
110
|
+
|
|
111
|
+
# Model configuration
|
|
112
|
+
echo "ANTHROPIC_MODEL=${{ inputs.anthropic_model }}" >> $GITHUB_ENV
|
|
113
|
+
echo "OPENAI_MODEL=${{ inputs.openai_model }}" >> $GITHUB_ENV
|
|
114
|
+
echo "GOOGLE_MODEL=${{ inputs.google_model }}" >> $GITHUB_ENV
|
|
115
|
+
|
|
116
|
+
# Linear MCP configuration
|
|
117
|
+
echo "LINEAR_API_KEY=${{ inputs.linear_api_key }}" >> $GITHUB_ENV
|
|
118
|
+
echo "LINEAR_TEAM_ID=${{ inputs.linear_team_id }}" >> $GITHUB_ENV
|
|
119
|
+
echo "LINEAR_PROJECT_ID=${{ inputs.linear_project_id }}" >> $GITHUB_ENV
|
|
120
|
+
|
|
121
|
+
echo "Environment variables configured successfully"
|
|
122
|
+
echo "- Anthropic API key configured"
|
|
123
|
+
echo "- OpenAI model: ${{ inputs.openai_model }}"
|
|
124
|
+
echo "- Google model: ${{ inputs.google_model }}"
|
|
125
|
+
echo "- Linear team: ${{ inputs.linear_team_id }}"
|
|
126
|
+
if [[ -n "${{ inputs.linear_project_id }}" ]]; then
|
|
127
|
+
echo "- Linear project: ${{ inputs.linear_project_id }}"
|
|
128
|
+
fi
|
|
@@ -122,7 +122,7 @@ jobs:
|
|
|
122
122
|
run: |
|
|
123
123
|
# Generate plan - stderr (logs) flows to console, stdout (plan) is captured
|
|
124
124
|
set +e
|
|
125
|
-
PLAN=$(
|
|
125
|
+
PLAN=$(.github/claude-parallel/scripts/planning-agent.js "$ISSUE_TITLE: $ISSUE_BODY")
|
|
126
126
|
EXIT_CODE=$?
|
|
127
127
|
set -e
|
|
128
128
|
|
|
@@ -183,7 +183,7 @@ jobs:
|
|
|
183
183
|
run: |
|
|
184
184
|
# Generate plan - stderr (logs) flows to console, stdout (plan) is captured
|
|
185
185
|
set +e
|
|
186
|
-
PLAN=$(
|
|
186
|
+
PLAN=$(.github/claude-parallel/scripts/planning-agent.js "$ISSUE_TITLE: $ISSUE_BODY")
|
|
187
187
|
EXIT_CODE=$?
|
|
188
188
|
set -e
|
|
189
189
|
|
|
@@ -244,7 +244,7 @@ jobs:
|
|
|
244
244
|
run: |
|
|
245
245
|
# Generate plan - stderr (logs) flows to console, stdout (plan) is captured
|
|
246
246
|
set +e
|
|
247
|
-
PLAN=$(
|
|
247
|
+
PLAN=$(.github/claude-parallel/scripts/planning-agent.js "$ISSUE_TITLE: $ISSUE_BODY")
|
|
248
248
|
EXIT_CODE=$?
|
|
249
249
|
set -e
|
|
250
250
|
|
|
@@ -310,4 +310,4 @@ jobs:
|
|
|
310
310
|
TURSO_AUTH_TOKEN: ${{ secrets.TURSO_AUTH_TOKEN }}
|
|
311
311
|
run: |
|
|
312
312
|
# Run linear agent for consolidation and Linear issue creation
|
|
313
|
-
|
|
313
|
+
.github/claude-parallel/scripts/linear-agent.js
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* linear-agent.ts
|
|
4
|
-
*
|
|
5
|
-
* Consolidates three implementation plans from different AI providers and creates Linear issues.
|
|
6
|
-
* This is the v2 workflow approach that receives pre-generated plans via environment variables.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* linear-agent.ts
|
|
10
|
-
*
|
|
11
|
-
* Environment variables (all required):
|
|
12
|
-
* - ANTHROPIC_PLAN - Plan from Anthropic provider
|
|
13
|
-
* - OPENAI_PLAN - Plan from OpenAI provider
|
|
14
|
-
* - GOOGLE_PLAN - Plan from Google provider
|
|
15
|
-
* - GITHUB_ISSUE_URL - URL of the GitHub issue
|
|
16
|
-
* - ISSUE_TITLE - Title of the GitHub issue
|
|
17
|
-
* - LINEAR_TEAM_ID - Linear team ID
|
|
18
|
-
* - LINEAR_PROJECT_ID - Linear project ID (optional)
|
|
19
|
-
* - ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN - API key for consolidation agent
|
|
20
|
-
* - LINEAR_API_KEY - Linear API key for creating issues
|
|
21
|
-
*
|
|
22
|
-
* Optional:
|
|
23
|
-
* - MODEL (defaults to claude-opus-4-5)
|
|
24
|
-
*
|
|
25
|
-
* Examples:
|
|
26
|
-
* ANTHROPIC_PLAN="..." OPENAI_PLAN="..." GOOGLE_PLAN="..." \
|
|
27
|
-
* GITHUB_ISSUE_URL="..." ISSUE_TITLE="..." LINEAR_TEAM_ID="..." \
|
|
28
|
-
* ANTHROPIC_API_KEY=xxx LINEAR_API_KEY=xxx \
|
|
29
|
-
* linear-agent.ts
|
|
30
|
-
*/
|
|
31
|
-
export {};
|
|
32
|
-
//# sourceMappingURL=linear-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linear-agent.d.ts","sourceRoot":"","sources":["../../src/agents/linear-agent.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
|