Skip to content
This repository was archived by the owner on Mar 12, 2026. It is now read-only.

Commit e3d67ac

Browse files
committed
refactor: overhaul design, UI and architecture for simplicity
- Brand new mono-repo structure with Turbo - Utilize all of the latest recommendations for LangGraph for agent - Use CopilotKit's v2 UI's and hooks - Add ThreeJS example MCP App server to the mono-repo - Add .env.example - New README structure - Restructure components for progressive disclosure of complexity - Add new "canvas mode" to default UI - Include new suggestions for guiding and teaching about CopilotKit
1 parent bbaf033 commit e3d67ac

Some content is hidden

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

71 files changed

+2784
-500
lines changed

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
OPENAI_API_KEY=

.github/workflows/smoke.yml

Lines changed: 75 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ubuntu-latest, windows-latest, macos-latest]
19-
node: [20, 22]
18+
os: [ubuntu-latest, windows-latest]
19+
node: [22, 24]
2020
python: [3.12, 3.13]
2121

2222
steps:
@@ -33,6 +33,9 @@ jobs:
3333
with:
3434
python-version: ${{ matrix.python }}
3535

36+
- name: Install pnpm
37+
uses: pnpm/action-setup@v4
38+
3639
- name: Install uv
3740
uses: astral-sh/setup-uv@v4
3841
with:
@@ -41,22 +44,20 @@ jobs:
4144
- name: Configure uv to use matrix Python version
4245
run: echo "UV_PYTHON=python${{ matrix.python }}" >> $GITHUB_ENV
4346

44-
- name: Install Node.js dependencies (root)
45-
run: npm install
47+
- name: Install dependencies (monorepo)
48+
run: pnpm install
4649

47-
- name: Install Node.js dependencies (agent)
48-
run: |
49-
cd agent
50-
npm install
50+
- name: Build all apps
51+
run: pnpm build
5152

52-
- name: Build frontend
53-
run: npm run build
53+
- name: Create empty .env file
54+
run: touch .env
5455

5556
- name: Test frontend startup (Linux/macOS)
5657
if: runner.os != 'Windows'
5758
run: |
5859
# Start the Next.js frontend in background
59-
npm start &
60+
pnpm --filter app start &
6061
FRONTEND_PID=$!
6162
6263
# Wait for frontend to start (max 30 seconds)
@@ -87,7 +88,7 @@ jobs:
8788
if: runner.os == 'Windows'
8889
run: |
8990
# Start the Next.js frontend in background
90-
npm start &
91+
pnpm --filter app start &
9192
9293
# Wait for frontend to start (max 30 seconds)
9394
$timeout = 30
@@ -113,8 +114,69 @@ jobs:
113114
}
114115
shell: pwsh
115116

117+
- name: Test agent startup (Linux/macOS)
118+
if: runner.os != 'Windows'
119+
run: |
120+
# Start the LangGraph agent in background
121+
pnpm --filter agent dev &
122+
AGENT_PID=$!
123+
124+
# Wait for agent to start (max 30 seconds)
125+
timeout=30
126+
elapsed=0
127+
started=false
128+
129+
while [ $elapsed -lt $timeout ] && [ "$started" = false ]; do
130+
if curl -s http://localhost:8123 > /dev/null 2>&1; then
131+
started=true
132+
echo "✅ Agent started successfully"
133+
else
134+
sleep 1
135+
elapsed=$((elapsed + 1))
136+
fi
137+
done
138+
139+
# Clean up background process
140+
kill $AGENT_PID 2>/dev/null || true
141+
142+
if [ "$started" = false ]; then
143+
echo "❌ Agent failed to start within 30 seconds"
144+
exit 1
145+
fi
146+
shell: bash
147+
148+
- name: Test agent startup (Windows)
149+
if: runner.os == 'Windows'
150+
run: |
151+
# Start the LangGraph agent in background
152+
pnpm --filter agent dev &
153+
154+
# Wait for agent to start (max 30 seconds)
155+
$timeout = 30
156+
$elapsed = 0
157+
$started = $false
158+
159+
while ($elapsed -lt $timeout -and -not $started) {
160+
try {
161+
$response = Invoke-WebRequest -Uri "http://localhost:8123" -TimeoutSec 1 -ErrorAction SilentlyContinue
162+
if ($response.StatusCode -eq 200) {
163+
$started = $true
164+
Write-Host "✅ Agent started successfully"
165+
}
166+
} catch {
167+
Start-Sleep -Seconds 1
168+
$elapsed++
169+
}
170+
}
171+
172+
if (-not $started) {
173+
Write-Host "❌ Agent failed to start within 30 seconds"
174+
exit 1
175+
}
176+
shell: pwsh
177+
116178
- name: Run linting
117-
run: npm run lint
179+
run: pnpm lint
118180

119181
notify-slack:
120182
name: Notify Slack on Failure

.gitignore

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
22

33
# dependencies
4-
/node_modules
5-
/.pnp
4+
node_modules
5+
.pnp
66
.pnp.*
77
.yarn/*
88
!.yarn/patches
@@ -11,14 +11,14 @@
1111
!.yarn/versions
1212

1313
# testing
14-
/coverage
14+
coverage
1515

1616
# next.js
17-
/.next/
18-
/out/
17+
.next/
18+
out/
1919

2020
# production
21-
/build
21+
build
2222

2323
# misc
2424
.DS_Store
@@ -32,6 +32,7 @@ yarn-error.log*
3232

3333
# env files (can opt-in for committing if needed)
3434
.env*
35+
!.env.example
3536

3637
# vercel
3738
.vercel
@@ -48,3 +49,12 @@ bun.lockb
4849

4950
# LangGraph API
5051
.langgraph_api
52+
53+
# Git worktrees
54+
.worktrees
55+
56+
# Turbo
57+
.turbo
58+
59+
# Tools
60+
.claude

0 commit comments

Comments
 (0)