Skip to content

Commit cb8861c

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 cb8861c

Some content is hidden

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

72 files changed

+3207
-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: 73 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ jobs:
3333
with:
3434
python-version: ${{ matrix.python }}
3535

36+
- name: Install pnpm
37+
uses: pnpm/action-setup@v4
38+
with:
39+
version: 9
40+
3641
- name: Install uv
3742
uses: astral-sh/setup-uv@v4
3843
with:
@@ -41,22 +46,17 @@ jobs:
4146
- name: Configure uv to use matrix Python version
4247
run: echo "UV_PYTHON=python${{ matrix.python }}" >> $GITHUB_ENV
4348

44-
- name: Install Node.js dependencies (root)
45-
run: npm install
46-
47-
- name: Install Node.js dependencies (agent)
48-
run: |
49-
cd agent
50-
npm install
49+
- name: Install dependencies (monorepo)
50+
run: pnpm install
5151

52-
- name: Build frontend
53-
run: npm run build
52+
- name: Build all apps
53+
run: pnpm build
5454

5555
- name: Test frontend startup (Linux/macOS)
5656
if: runner.os != 'Windows'
5757
run: |
5858
# Start the Next.js frontend in background
59-
npm start &
59+
pnpm --filter app start &
6060
FRONTEND_PID=$!
6161
6262
# Wait for frontend to start (max 30 seconds)
@@ -87,7 +87,7 @@ jobs:
8787
if: runner.os == 'Windows'
8888
run: |
8989
# Start the Next.js frontend in background
90-
npm start &
90+
pnpm --filter app start &
9191
9292
# Wait for frontend to start (max 30 seconds)
9393
$timeout = 30
@@ -113,8 +113,69 @@ jobs:
113113
}
114114
shell: pwsh
115115

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

119180
notify-slack:
120181
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)