Skip to content

Commit f039029

Browse files
committed
Integrate PR winfunc#365: Sequential Thinking UI improvements
# Conflicts: # .github/workflows/claude-code-review.yml # .github/workflows/claude.yml # package-lock.json # src/components/AgentExecution.tsx # src/components/ClaudeCodeSession.refactored.tsx # src/components/ClaudeCodeSession.tsx # src/components/FloatingPromptInput.tsx # src/components/TimelineNavigator.tsx # src/components/ToolWidgets.tsx # src/components/WebviewPreview.tsx # src/components/claude-code-session/useClaudeMessages.ts # src/components/widgets/BashWidget.tsx # src/lib/api.ts
2 parents 92825e5 + 31e2b7e commit f039029

File tree

152 files changed

+28030
-10152
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+28030
-10152
lines changed

.github/workflows/build-linux.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
build:
1111
name: Build Linux x86_64
1212
runs-on: ubuntu-latest
13-
13+
1414
steps:
1515
- uses: actions/checkout@v4
16-
16+
1717
- name: Install system dependencies
1818
run: |
1919
sudo apt-get update
@@ -24,36 +24,36 @@ jobs:
2424
libssl-dev \
2525
libayatana-appindicator3-dev \
2626
librsvg2-dev
27-
27+
2828
- name: Setup Rust
2929
uses: dtolnay/rust-toolchain@stable
3030
with:
3131
targets: x86_64-unknown-linux-gnu
32-
32+
3333
- name: Setup Rust cache
3434
uses: Swatinem/rust-cache@v2
3535
with:
3636
workspaces: src-tauri
37-
37+
3838
- name: Setup Bun
3939
uses: oven-sh/setup-bun@v2
40-
40+
4141
- name: Install dependencies
4242
run: bun install
43-
43+
4444
- name: Build Tauri app
4545
run: bun run tauri build --target x86_64-unknown-linux-gnu
46-
46+
4747
- name: Create artifacts directory
4848
run: |
4949
mkdir -p dist/linux-x86_64
5050
cp src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb dist/linux-x86_64/ || true
5151
cp src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage dist/linux-x86_64/ || true
52-
52+
5353
# Generate checksums
5454
cd dist/linux-x86_64
5555
sha256sum * > checksums.txt
56-
56+
5757
- name: Upload artifacts
5858
uses: actions/upload-artifact@v4
5959
with:

.github/workflows/build-test.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ name: Build Test
33
# Trigger on every push and pull request
44
on:
55
push:
6-
branches: [ main, develop, 'release/**', 'feature/**' ]
6+
branches: [main, develop, "release/**", "feature/**"]
77
pull_request:
8-
branches: [ main, develop ]
8+
branches: [main, develop]
99
types: [opened, synchronize, reopened]
1010

1111
# Cancel in-progress workflows when a new commit is pushed
@@ -20,7 +20,7 @@ env:
2020
jobs:
2121
build-test:
2222
name: Build Test (${{ matrix.platform.name }})
23-
23+
2424
strategy:
2525
fail-fast: false
2626
matrix:
@@ -37,9 +37,9 @@ jobs:
3737
- name: macOS
3838
os: macos-latest
3939
rust-target: x86_64-apple-darwin
40-
40+
4141
runs-on: ${{ matrix.platform.os }}
42-
42+
4343
steps:
4444
# Checkout the repository
4545
- name: Checkout repository
@@ -75,9 +75,9 @@ jobs:
7575
- name: Cache Rust dependencies
7676
uses: Swatinem/rust-cache@v2
7777
with:
78-
workspaces: './src-tauri -> target'
78+
workspaces: "./src-tauri -> target"
7979
key: ${{ matrix.platform.os }}-rust-${{ hashFiles('**/Cargo.lock') }}
80-
80+
8181
# Setup Bun
8282
- name: Setup Bun
8383
uses: oven-sh/setup-bun@v2
@@ -94,7 +94,7 @@ jobs:
9494
key: ${{ matrix.platform.os }}-bun-${{ hashFiles('bun.lockb', 'package.json') }}
9595
restore-keys: |
9696
${{ matrix.platform.os }}-bun-
97-
97+
9898
# Install frontend dependencies
9999
- name: Install frontend dependencies
100100
run: bun install --frozen-lockfile
@@ -127,7 +127,7 @@ jobs:
127127
runs-on: ubuntu-latest
128128
needs: [build-test]
129129
if: always()
130-
130+
131131
steps:
132132
- name: Check build results
133133
run: |
@@ -149,21 +149,21 @@ jobs:
149149
const result = '${{ needs.build-test.result }}';
150150
const emoji = result === 'success' ? '✅' : '❌';
151151
const status = result === 'success' ? 'All build tests passed!' : 'Build tests failed';
152-
152+
153153
// Create a comment summarizing the build status
154154
const comment = `## ${emoji} Build Test Results
155-
155+
156156
**Status**: ${status}
157157
**Commit**: ${{ github.event.pull_request.head.sha || github.sha }}
158-
158+
159159
| Platform | Status |
160160
|----------|--------|
161161
| Linux | ${{ contains(needs.build-test.result, 'success') && '✅' || '❌' }} |
162162
| Windows | ${{ contains(needs.build-test.result, 'success') && '✅' || '❌' }} |
163163
| macOS | ${{ contains(needs.build-test.result, 'success') && '✅' || '❌' }} |
164-
164+
165165
[View full workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})`;
166-
166+
167167
// Only post comment if it's a PR
168168
if (context.eventName === 'pull_request') {
169169
await github.rest.issues.createComment({
@@ -172,4 +172,4 @@ jobs:
172172
issue_number: context.issue.number,
173173
body: comment
174174
});
175-
}
175+
}

.github/workflows/claude-code-review.yml

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,42 @@ jobs:
3333

3434
- name: Run Claude Code Review
3535
id: claude-review
36-
uses: anthropics/claude-code-action@v1
36+
uses: anthropics/claude-code-action@beta
3737
with:
3838
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
39-
prompt: |
40-
REPO: ${{ github.repository }}
41-
PR NUMBER: ${{ github.event.pull_request.number }}
4239

40+
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
41+
# model: "claude-opus-4-20250514"
42+
43+
# Direct prompt for automated review (no @claude mention needed)
44+
direct_prompt: |
4345
Please review this pull request and provide feedback on:
4446
- Code quality and best practices
4547
- Potential bugs or issues
4648
- Performance considerations
4749
- Security concerns
4850
- Test coverage
4951
50-
Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback.
52+
Be constructive and helpful in your feedback.
53+
54+
# Optional: Customize review based on file types
55+
# direct_prompt: |
56+
# Review this PR focusing on:
57+
# - For TypeScript files: Type safety and proper interface usage
58+
# - For API endpoints: Security, input validation, and error handling
59+
# - For React components: Performance, accessibility, and best practices
60+
# - For tests: Coverage, edge cases, and test quality
5161

52-
Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR.
62+
# Optional: Different prompts for different authors
63+
# direct_prompt: |
64+
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' &&
65+
# 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' ||
66+
# 'Please provide a thorough code review focusing on our coding standards and best practices.' }}
5367

54-
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
55-
# or https://docs.claude.com/en/docs/claude-code/cli-reference for available options
56-
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'
68+
# Optional: Add specific tools for running tests or linting
69+
# allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)"
5770

71+
# Optional: Skip review for certain conditions
72+
# if: |
73+
# !contains(github.event.pull_request.title, '[skip-review]') &&
74+
# !contains(github.event.pull_request.title, '[WIP]')

.github/workflows/claude.yml

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ jobs:
2323
pull-requests: read
2424
issues: read
2525
id-token: write
26-
actions: read # Required for Claude to read CI results on PRs
2726
steps:
2827
- name: Checkout repository
2928
uses: actions/checkout@v4
@@ -32,19 +31,28 @@ jobs:
3231

3332
- name: Run Claude Code
3433
id: claude
35-
uses: anthropics/claude-code-action@v1
34+
uses: anthropics/claude-code-action@beta
3635
with:
3736
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
3837

39-
# This is an optional setting that allows Claude to read CI results on PRs
40-
additional_permissions: |
41-
actions: read
38+
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
39+
model: "claude-opus-4-20250514"
4240

43-
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44-
# prompt: 'Update the pull request description to include a summary of changes.'
41+
# Optional: Customize the trigger phrase (default: @claude)
42+
# trigger_phrase: "/claude"
4543

46-
# Optional: Add claude_args to customize behavior and configuration
47-
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48-
# or https://docs.claude.com/en/docs/claude-code/cli-reference for available options
49-
# claude_args: '--allowed-tools Bash(gh pr:*)'
44+
# Optional: Trigger when specific user is assigned to an issue
45+
# assignee_trigger: "claude-bot"
5046

47+
# Optional: Allow Claude to run specific commands
48+
# allowed_tools: "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)"
49+
50+
# Optional: Add custom instructions for Claude to customize its behavior for your project
51+
# custom_instructions: |
52+
# Follow our coding standards
53+
# Ensure all new code has tests
54+
# Use TypeScript for new files
55+
56+
# Optional: Custom environment variables for Claude
57+
# claude_env: |
58+
# NODE_ENV: test

.github/workflows/release.yml

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ name: Release
33
on:
44
push:
55
tags:
6-
- 'v*'
6+
- "v*"
77
workflow_dispatch:
88
inputs:
99
version:
10-
description: 'Version to release (e.g., v1.0.0)'
10+
description: "Version to release (e.g., v1.0.0)"
1111
required: true
1212
type: string
1313

@@ -19,21 +19,20 @@ jobs:
1919
build-linux:
2020
uses: ./.github/workflows/build-linux.yml
2121
secrets: inherit
22-
22+
2323
build-macos:
2424
uses: ./.github/workflows/build-macos.yml
2525
secrets: inherit
26-
2726

2827
# Create release after all builds complete
2928
create-release:
3029
name: Create Release
3130
needs: [build-linux, build-macos]
3231
runs-on: ubuntu-latest
33-
32+
3433
steps:
3534
- uses: actions/checkout@v4
36-
35+
3736
- name: Determine version
3837
id: version
3938
run: |
@@ -44,36 +43,36 @@ jobs:
4443
fi
4544
echo "version=$VERSION" >> $GITHUB_OUTPUT
4645
echo "Version: $VERSION"
47-
46+
4847
- name: Download all artifacts
4948
uses: actions/download-artifact@v4
5049
with:
5150
path: artifacts
52-
51+
5352
- name: Prepare release assets
5453
run: |
5554
mkdir -p release-assets
56-
55+
5756
# Linux artifacts
5857
if [ -d "artifacts/linux-x86_64" ]; then
5958
cp artifacts/linux-x86_64/*.deb release-assets/opcode_${{ steps.version.outputs.version }}_linux_x86_64.deb || true
6059
cp artifacts/linux-x86_64/*.AppImage release-assets/opcode_${{ steps.version.outputs.version }}_linux_x86_64.AppImage || true
6160
fi
62-
61+
6362
# macOS artifacts
6463
if [ -d "artifacts/macos-universal" ]; then
6564
cp artifacts/macos-universal/opcode.dmg release-assets/opcode_${{ steps.version.outputs.version }}_macos_universal.dmg || true
6665
cp artifacts/macos-universal/opcode.app.zip release-assets/opcode_${{ steps.version.outputs.version }}_macos_universal.app.tar.gz || true
6766
fi
68-
67+
6968
# Create source code archives
7069
# Clean version without 'v' prefix for archive names
7170
CLEAN_VERSION="${{ steps.version.outputs.version }}"
7271
CLEAN_VERSION="${CLEAN_VERSION#v}"
73-
72+
7473
# Create source code archives (excluding .git and other unnecessary files)
7574
echo "Creating source code archives..."
76-
75+
7776
# Create a clean export of the repository
7877
git archive --format=tar.gz --prefix=opcode-${CLEAN_VERSION}/ -o release-assets/opcode-${CLEAN_VERSION}.tar.gz HEAD
7978
git archive --format=zip --prefix=opcode-${CLEAN_VERSION}/ -o release-assets/opcode-${CLEAN_VERSION}.zip HEAD
@@ -86,7 +85,7 @@ jobs:
8685
fi
8786
done
8887
cd ..
89-
88+
9089
- name: Create Release
9190
uses: softprops/action-gh-release@v1
9291
with:
@@ -117,4 +116,3 @@ jobs:
117116
118117
- macOS: Open the `.dmg` and drag opcode to Applications.
119118
- Linux: `chmod +x` the `.AppImage` and run it, or install the `.deb` on Debian/Ubuntu.
120-

0 commit comments

Comments
 (0)