Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
3780ea2
:art: add test env
4pmtong May 1, 2026
dee6d82
merge main
4pmtong May 1, 2026
6c827a3
refactor: establish Brain-centered architecture and frontend/backend …
4pmtong May 1, 2026
f7504d0
Fix: persist model config check (#1604)
4pmtong May 1, 2026
819344f
Fix/replay subtask status lost (#1603)
4pmtong May 1, 2026
caf4aff
fix: cloud chat /chat startup failures (422 + Azure api_version) (#1605)
4pmtong May 1, 2026
6b8554e
fix: work-log timeline, execution context, and task box focus (#1612)
Douglasymlai May 5, 2026
d454cd2
add auto preload for project and mcp list (#1607)
Douglasymlai May 5, 2026
913ceba
update the layout movement for topbar, worker and workspace item (#1614)
Douglasymlai May 6, 2026
9d06ad0
put color picker in allowlist (#1619)
Douglasymlai May 7, 2026
29ecdb6
refactor spliting task ux and ui (#1620)
Douglasymlai May 7, 2026
b2ac129
adding task start countdown to indicate timeout auto start process (#…
Douglasymlai May 7, 2026
c140b97
Merge remote-tracking branch 'origin/main' into test
4pmtong May 14, 2026
1780824
Merge branch 'main' into test
4pmtong May 20, 2026
88714a7
add changes to fix enhancement for layout ui (#1644)
Douglasymlai May 20, 2026
d6c66fc
update workspace page structure with subpage content (#1617)
Douglasymlai May 21, 2026
6312c44
feat: add CAMEL-based single agent mode (#1641)
4pmtong May 22, 2026
cf3cb8c
feat: Space layer above Project + RunContext + Single Agent CDP (#1655)
4pmtong May 29, 2026
c8934ea
fix: enable draft file attachments before task creation
4pmtong Jun 1, 2026
544cd63
fix(chat): prevent follow-up prompts from reusing first task question…
4pmtong Jun 1, 2026
b95efa8
feat: project-based workspace nav, Google Search connector, and chat …
Douglasymlai Jun 1, 2026
ba1f9a6
feat: home hub space creation, MCP built-in connectors, and history n…
Douglasymlai Jun 2, 2026
07e51f1
bug fix for agent folder file naming missalignment (#1633)
Douglasymlai Jun 3, 2026
818eeee
Normalize Windows drive-letter localfile URLs before resolving file p…
Douglasymlai Jun 3, 2026
9a4b115
fix(chat): preserve per-task prompts during project history replay
4pmtong Jun 3, 2026
2384331
feat(remote-control): add space-scoped remote control and web UI (#1663)
4pmtong Jun 5, 2026
ce8d225
fix(space): bind scratch spaces to Brain workspace roots
4pmtong Jun 5, 2026
d5a84c1
fix(remote-control): flush pending commands to desktop bridge
4pmtong Jun 5, 2026
144b29d
fix(remote-control): preserve remote follow-up prompt on desktop
4pmtong Jun 5, 2026
3f1d268
fix(folder): align local workspace breadcrumb label
4pmtong Jun 5, 2026
9c7513a
fix/adding run turn swtich for session side panel when runnign multi-…
Douglasymlai Jun 5, 2026
feb2d09
feat/draft new docs content and designed new onboarding process
Douglasymlai Jun 8, 2026
063d91c
fix/added animated demo and fix ui usability
Douglasymlai Jun 8, 2026
bcab186
docs: Update docs provider and toolkit references (#1667)
fengju0213 Jun 9, 2026
293a6c4
docs: refine welcome, quick start, and open-source pages (#1680)
Pakchoioioi Jun 9, 2026
3f91057
block new Project creation in legacy Spaces
4pmtong Jun 10, 2026
49f03b7
feat: refine workforce trace rendering (#1681)
Pakchoioioi Jun 10, 2026
a67b80e
feat: cache reconstructed chat state to skip SSE replay on revisit (#…
4pmtong Jun 10, 2026
a509358
fix task splitting plan display (#1685)
fengju0213 Jun 11, 2026
60d8862
fix backend env live reload (#1684)
fengju0213 Jun 11, 2026
6548000
update ui chagnes (#1686)
Douglasymlai Jun 11, 2026
c525784
Merge branch 'main' into test
4pmtong Jun 11, 2026
f68485a
[codex] fix zai platform alias (#1687)
fengju0213 Jun 11, 2026
71952af
chore: reorder custom model providers in BYOK list
4pmtong Jun 11, 2026
b11fc89
Merge branch 'test' of https://github.com/eigent-ai/eigent into test
4pmtong Jun 11, 2026
f19b6ee
feat(frontend): load cloud models from server (#1689)
4pmtong Jun 12, 2026
7fb1db2
feat/add thumbup&down visual response
Douglasymlai Jun 12, 2026
a3ae9f0
fix(remote-control): fix multi-project deadlock and message loss (#1690)
4pmtong Jun 15, 2026
2194a5b
fix(electron): disable devtools shortcuts in packaged app
4pmtong Jun 15, 2026
347a2c1
fix/layout iterate for clarity
Douglasymlai Jun 15, 2026
4db64fb
chore(server): sync shared fixes
4pmtong Jun 16, 2026
9fa02f9
env set to production
4pmtong Jun 16, 2026
5d9dd8c
Merge branch 'main' into test
4pmtong Jun 16, 2026
9b83e8c
ci: pass remote control env vars to desktop builds
4pmtong Jun 16, 2026
ec350f5
fix: resolve release PR CI findings
4pmtong Jun 16, 2026
0717c02
test: update backend tests for async queue contracts
4pmtong Jun 16, 2026
377589e
test: avoid browser launch in chat controller test
4pmtong Jun 16, 2026
9a47071
release version 1.0.0
4pmtong Jun 16, 2026
f033c50
test: mock browser prep in chat endpoint integration
4pmtong Jun 16, 2026
760ae9d
fix: decouple legacy replay from live model checks
4pmtong Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
70 changes: 70 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Keep build contexts small. This applies to every Dockerfile in the repo since
# Docker reads it from the context root.

# Source control
.git
.gitignore
.gitattributes

# Editor / OS
.vscode
.idea
.DS_Store
*.swp
*.swo

# Build outputs
dist
build
out
release
.next
.cache
.vite
.parcel-cache
storybook-static

# Dependencies installed inside the container; never copy host's tree.
node_modules
**/node_modules
.pnp.*
.yarn

# Test / coverage artifacts
coverage
.nyc_output
playwright-report
test-results

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Local env (the image must not bake host secrets).
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Electron / desktop build artifacts not needed in runtime images.
out
release-builds
dist_electron

# Backend / server runtime data not needed in frontend/runtime images.
server/runtime
server/.venv
server/lang
server/celerybeat-schedule*
server/.image_env
backend/.venv

# Docs / reviews — not relevant to runtime image.
docs

# Other working dirs in this repo that bloat the build context.
projects
benchmark
13 changes: 11 additions & 2 deletions .env.development
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
VITE_BASE_URL=/api

# =======Production environment variables=======
# =======Production environment variables start=======
SERVER_URL=https://dev.eigent.ai
VITE_PROXY_URL=https://dev.eigent.ai
VITE_SITE_URL=https://www.eigent.ai
VITE_USE_LOCAL_PROXY=false
VITE_REMOTE_CONTROL_WEB_ORIGIN=https://remote.eigent.ai
REMOTE_CONTROL_WEB_ORIGIN=https://remote.eigent.ai
VITE_REMOTE_CONTROL_LOCAL_API_URL=https://dev.eigent.ai
# =======Production environment variables end =======

# =======Local environment variables=======
# =======Local environment variables start =======
# SERVER_URL=http://localhost:3001
# VITE_PROXY_URL=http://localhost:3001
# VITE_USE_LOCAL_PROXY=true
# VITE_REMOTE_CONTROL_WEB_ORIGIN=http://localhost:5174
# REMOTE_CONTROL_WEB_ORIGIN=http://localhost:5174
# VITE_REMOTE_CONTROL_LOCAL_API_URL=http://localhost:3001
# =======Local environment variables end=======

# Dummy Stack Auth keys for local dev (enables StackProvider gating).
# Replace with real values from Stack dashboard when needed.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ body:
id: version
attributes:
label: What version of eigent are you using?
placeholder: E.g., 0.0.91
placeholder: E.g., 1.0.0
validations:
required: true

Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/build-view.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for macOS builds with signing
Expand Down Expand Up @@ -160,6 +164,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Windows builds without signing
Expand All @@ -175,6 +183,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Linux builds
Expand All @@ -190,6 +202,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Verify built app contains Electron Framework
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Windows builds without signing
Expand All @@ -143,6 +147,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Linux builds
Expand All @@ -157,6 +165,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Verify built app contains Electron Framework
Expand Down Expand Up @@ -347,7 +359,7 @@ jobs:
files: |
gh-release-assets/*

# Extract version from tag (e.g., v0.0.85 -> 0.0.91)
# Extract version from tag (e.g., v0.0.85 -> 1.0.0)
- name: Extract version
if: startsWith(github.ref, 'refs/tags/')
id: version
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/pre-build-view.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for macOS builds with signing
Expand Down Expand Up @@ -165,6 +169,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Windows builds without signing
Expand All @@ -180,6 +188,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Linux builds
Expand All @@ -195,6 +207,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Verify built app contains Electron Framework
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/pre-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Windows builds without signing
Expand All @@ -148,6 +152,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Step for Linux builds
Expand All @@ -162,6 +170,10 @@ jobs:
VITE_STACK_PROJECT_ID: ${{ secrets.VITE_STACK_PROJECT_ID }}
VITE_STACK_PUBLISHABLE_CLIENT_KEY: ${{ secrets.VITE_STACK_PUBLISHABLE_CLIENT_KEY }}
VITE_STACK_SECRET_SERVER_KEY: ${{ secrets.VITE_STACK_SECRET_SERVER_KEY }}
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }}
VITE_USE_LOCAL_PROXY: ${{ secrets.VITE_USE_LOCAL_PROXY }}
VITE_REMOTE_CONTROL_WEB_ORIGIN: ${{ secrets.VITE_REMOTE_CONTROL_WEB_ORIGIN }}
VITE_REMOTE_CONTROL_LOCAL_API_URL: ${{ secrets.VITE_REMOTE_CONTROL_LOCAL_API_URL }}
USE_NPM_INSTALL_BUN: 'true'

# Verify built app contains Electron Framework
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,64 @@ permissions:
contents: read

jobs:
web-local-smoke:
name: Run Web + Local Brain Smoke
runs-on: ubuntu-latest
timeout-minutes: 25

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install frontend dependencies
run: npm install --ignore-scripts

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true

- name: Set up Python
run: uv python install 3.11

- name: Install backend dependencies
run: |
cd backend
uv sync

- name: Run web + local brain smoke
run: bash scripts/smoke-web-local-brain.sh

frontend-quality:
name: Run Frontend Guardrails
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install frontend dependencies
run: npm install --ignore-scripts

- name: Run type check
run: npm run type-check

- name: Check Electron Access Guard
run: bash scripts/check-electron-access.sh

- name: Design tokens (engine + no hard-coded colors in UI)
run: npm run check:design-tokens

pytest:
name: Run Python Tests
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Logs
logs
*.log
camel_logs/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
Expand All @@ -10,6 +11,7 @@ node-compile-cache

node_modules
dist
dist-web
!package/**/dist
dist-ssr
dist-electron
Expand Down Expand Up @@ -40,7 +42,9 @@ yarn.lock
.env.local
.env.production
.env.development
client_secret_*.json

.claude/
.cursor

# Public directory (large media files)
Expand Down
1 change: 1 addition & 0 deletions .lintstagedrc.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"*.{ts,tsx}": [
"eslint --fix --no-warn-ignored",
"node scripts/check-design-token-usage.mjs",
"prettier --write",
"node licenses/update_license.js"
],
Expand Down
1 change: 1 addition & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Python-generated files
__pycache__/
*.py[oc]
camel_logs/
build/
dist/
wheels/
Expand Down
Loading
Loading