Skip to content

Commit f984502

Browse files
authored
Merge pull request #1 from intellispectrum/0.1.0-dev
dev-0.1.0
2 parents 9442e5f + aa03238 commit f984502

96 files changed

Lines changed: 21532 additions & 23 deletions

Some content is hidden

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

.env.example

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# ClawX Environment Variables
2+
3+
# OpenClaw Gateway Configuration
4+
OPENCLAW_GATEWAY_PORT=18789
5+
6+
# Development Configuration
7+
VITE_DEV_SERVER_PORT=5173
8+
9+
# Release Configuration (CI/CD)
10+
# Apple Developer Credentials
11+
APPLE_ID=your@email.com
12+
APPLE_APP_SPECIFIC_PASSWORD=xxxx-xxxx-xxxx-xxxx
13+
APPLE_TEAM_ID=XXXXXXXXXX
14+
15+
# Code Signing Certificate
16+
CSC_LINK=path/to/certificate.p12
17+
CSC_KEY_PASSWORD=certificate_password
18+
19+
# GitHub Token for releases
20+
GH_TOKEN=github_personal_access_token

.github/workflows/ci.yml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# ClawX CI Workflow
2+
# Runs on pull requests and pushes to main
3+
4+
name: CI
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
- develop
11+
pull_request:
12+
branches:
13+
- main
14+
- develop
15+
16+
jobs:
17+
lint:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: '20'
27+
28+
- name: Setup pnpm
29+
uses: pnpm/action-setup@v4
30+
with:
31+
version: 10
32+
33+
- name: Install dependencies
34+
run: pnpm install --frozen-lockfile
35+
36+
- name: Run linter
37+
run: pnpm run lint
38+
39+
typecheck:
40+
runs-on: ubuntu-latest
41+
steps:
42+
- name: Checkout code
43+
uses: actions/checkout@v4
44+
45+
- name: Setup Node.js
46+
uses: actions/setup-node@v4
47+
with:
48+
node-version: '20'
49+
50+
- name: Setup pnpm
51+
uses: pnpm/action-setup@v4
52+
with:
53+
version: 10
54+
55+
- name: Install dependencies
56+
run: pnpm install --frozen-lockfile
57+
58+
- name: Run typecheck
59+
run: pnpm run typecheck
60+
61+
test:
62+
runs-on: ubuntu-latest
63+
steps:
64+
- name: Checkout code
65+
uses: actions/checkout@v4
66+
67+
- name: Setup Node.js
68+
uses: actions/setup-node@v4
69+
with:
70+
node-version: '20'
71+
72+
- name: Setup pnpm
73+
uses: pnpm/action-setup@v4
74+
with:
75+
version: 10
76+
77+
- name: Install dependencies
78+
run: pnpm install --frozen-lockfile
79+
80+
- name: Run tests
81+
run: pnpm run test
82+
83+
build:
84+
runs-on: ${{ matrix.os }}
85+
strategy:
86+
matrix:
87+
os: [ubuntu-latest, macos-latest, windows-latest]
88+
89+
steps:
90+
- name: Checkout code
91+
uses: actions/checkout@v4
92+
93+
- name: Setup Node.js
94+
uses: actions/setup-node@v4
95+
with:
96+
node-version: '20'
97+
98+
- name: Setup pnpm
99+
uses: pnpm/action-setup@v4
100+
with:
101+
version: 10
102+
103+
- name: Get pnpm store directory
104+
shell: bash
105+
run: |
106+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
107+
108+
- name: Setup pnpm cache
109+
uses: actions/cache@v4
110+
with:
111+
path: ${{ env.STORE_PATH }}
112+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
113+
restore-keys: |
114+
${{ runner.os }}-pnpm-store-
115+
116+
- name: Install dependencies
117+
run: pnpm install --frozen-lockfile
118+
119+
- name: Build
120+
run: pnpm run build:vite
121+
env:
122+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# ClawX Release Workflow
2+
# Builds and publishes releases for macOS, Windows, and Linux
3+
4+
name: Release
5+
6+
on:
7+
push:
8+
tags:
9+
- 'v*'
10+
workflow_dispatch:
11+
inputs:
12+
version:
13+
description: 'Version to release (e.g., 1.0.0)'
14+
required: true
15+
16+
permissions:
17+
contents: write
18+
19+
jobs:
20+
release:
21+
strategy:
22+
matrix:
23+
include:
24+
- os: macos-latest
25+
platform: mac
26+
- os: windows-latest
27+
platform: win
28+
- os: ubuntu-latest
29+
platform: linux
30+
31+
runs-on: ${{ matrix.os }}
32+
33+
steps:
34+
- name: Checkout code
35+
uses: actions/checkout@v4
36+
with:
37+
fetch-depth: 0
38+
39+
- name: Setup Node.js
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: '20'
43+
44+
- name: Setup pnpm
45+
uses: pnpm/action-setup@v4
46+
with:
47+
version: 10
48+
49+
- name: Get pnpm store directory
50+
shell: bash
51+
run: |
52+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
53+
54+
- name: Setup pnpm cache
55+
uses: actions/cache@v4
56+
with:
57+
path: ${{ env.STORE_PATH }}
58+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
59+
restore-keys: |
60+
${{ runner.os }}-pnpm-store-
61+
62+
- name: Install dependencies
63+
run: pnpm install --frozen-lockfile
64+
65+
- name: Build Vite
66+
run: pnpm run build:vite
67+
68+
# macOS specific steps
69+
- name: Build macOS
70+
if: matrix.platform == 'mac'
71+
env:
72+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73+
# For code signing (optional)
74+
# CSC_LINK: ${{ secrets.MAC_CERTS }}
75+
# CSC_KEY_PASSWORD: ${{ secrets.MAC_CERTS_PASSWORD }}
76+
# For notarization (optional)
77+
# APPLE_ID: ${{ secrets.APPLE_ID }}
78+
# APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
79+
# APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
80+
run: pnpm run package:mac
81+
82+
# Windows specific steps
83+
- name: Build Windows
84+
if: matrix.platform == 'win'
85+
env:
86+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
87+
# For code signing (optional)
88+
# CSC_LINK: ${{ secrets.WIN_CERTS }}
89+
# CSC_KEY_PASSWORD: ${{ secrets.WIN_CERTS_PASSWORD }}
90+
run: pnpm run package:win
91+
92+
# Linux specific steps
93+
- name: Build Linux
94+
if: matrix.platform == 'linux'
95+
env:
96+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97+
run: pnpm run package:linux
98+
99+
- name: Upload artifacts
100+
uses: actions/upload-artifact@v4
101+
with:
102+
name: release-${{ matrix.platform }}
103+
path: |
104+
release/*.dmg
105+
release/*.zip
106+
release/*.exe
107+
release/*.AppImage
108+
release/*.deb
109+
release/*.yml
110+
release/*.yaml
111+
retention-days: 7
112+
113+
publish:
114+
needs: release
115+
runs-on: ubuntu-latest
116+
117+
steps:
118+
- name: Checkout code
119+
uses: actions/checkout@v4
120+
121+
- name: Download all artifacts
122+
uses: actions/download-artifact@v4
123+
with:
124+
path: release-artifacts
125+
126+
- name: List artifacts
127+
run: ls -la release-artifacts/
128+
129+
- name: Create GitHub Release
130+
uses: softprops/action-gh-release@v1
131+
if: startsWith(github.ref, 'refs/tags/')
132+
with:
133+
files: |
134+
release-artifacts/**/*.dmg
135+
release-artifacts/**/*.zip
136+
release-artifacts/**/*.exe
137+
release-artifacts/**/*.AppImage
138+
release-artifacts/**/*.deb
139+
release-artifacts/**/*.yml
140+
release-artifacts/**/*.yaml
141+
draft: false
142+
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') }}
143+
generate_release_notes: true
144+
env:
145+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Dependencies
2+
node_modules/
3+
.pnp
4+
.pnp.js
5+
6+
# Build outputs
7+
dist/
8+
dist-electron/
9+
release/
10+
*.local
11+
12+
# IDE
13+
.vscode/*
14+
!.vscode/extensions.json
15+
.idea/
16+
*.suo
17+
*.ntvs*
18+
*.njsproj
19+
*.sln
20+
*.sw?
21+
22+
# Environment
23+
.env
24+
.env.local
25+
.env.*.local
26+
27+
# Logs
28+
logs
29+
*.log
30+
npm-debug.log*
31+
pnpm-debug.log*
32+
yarn-debug.log*
33+
yarn-error.log*
34+
35+
# OS files
36+
.DS_Store
37+
Thumbs.db
38+
39+
# Test coverage
40+
coverage/
41+
42+
# Cache
43+
.cache/
44+
.turbo/
45+
*.tsbuildinfo
46+
47+
# Electron
48+
*.dmg
49+
*.exe
50+
*.AppImage
51+
*.deb
52+
*.rpm
53+
54+
# Secrets
55+
*.p12
56+
*.pem
57+
*.key

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "openclaw"]
2+
path = openclaw
3+
url = https://github.com/openclaw/openclaw.git

.prettierrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"semi": true,
3+
"singleQuote": true,
4+
"tabWidth": 2,
5+
"trailingComma": "es5",
6+
"printWidth": 100
7+
}

0 commit comments

Comments
 (0)