diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aac6c57..e5b7547 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,6 +204,10 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Generate build number + id: buildnumber + run: echo "build_number=$(date +'%Y%m%d.%H%M%S')" >> $GITHUB_OUTPUT + - name: Download artifacts uses: actions/download-artifact@v4 with: @@ -211,8 +215,10 @@ jobs: - name: Create Release uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') with: + tag_name: nightly-${{ steps.buildnumber.outputs.build_number }} + name: Nightly Build ${{ steps.buildnumber.outputs.build_number }} + prerelease: true files: | artifacts/vscode-extension/*.vsix artifacts/jetbrains-plugin/*.zip diff --git a/.github/workflows/deploy-landing.yml b/.github/workflows/deploy-landing.yml new file mode 100644 index 0000000..ce5e478 --- /dev/null +++ b/.github/workflows/deploy-landing.yml @@ -0,0 +1,53 @@ +name: Deploy Landing Pages + +on: + push: + branches: [main] + paths: + - 'landing.html' + - 'hanzo-app.html' + - '.github/workflows/deploy-landing.yml' + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Vercel CLI + run: npm install -g vercel + + - name: Prepare deployment directory + run: | + mkdir -p deploy + cp hanzo-app.html deploy/index.html + cp landing.html deploy/dev.html + + # Create vercel.json + cat > deploy/vercel.json << EOF + { + "rewrites": [ + { "source": "/dev", "destination": "/dev.html" }, + { "source": "/", "destination": "/index.html" } + ], + "headers": [ + { + "source": "/(.*)", + "headers": [ + { "key": "X-Content-Type-Options", "value": "nosniff" }, + { "key": "X-Frame-Options", "value": "DENY" }, + { "key": "X-XSS-Protection", "value": "1; mode=block" } + ] + } + ] + } + EOF + + - name: Deploy to Vercel + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + run: | + cd deploy + vercel --prod --token $VERCEL_TOKEN \ No newline at end of file diff --git a/README.md b/README.md index aa9f146..1c09f9b 100644 --- a/README.md +++ b/README.md @@ -266,9 +266,34 @@ Dev automatically assigns the right AI tool for each role: - **Git worktree support** for conflict-free development - **Framework-aware** code generation +## 🌐 Landing Pages + +### hanzo.app - Download Hub +Access Hanzo from any platform: +- **Desktop Apps**: Windows, macOS, Linux +- **Mobile Apps**: iOS, Android +- **Browser Extensions**: Chrome, Firefox, Edge, Safari +- **IDE Extensions**: VS Code, JetBrains +- **CLI Tools**: Dev CLI, MCP Server +- **Cloud Platform**: cloud.hanzo.ai + +Visit [hanzo.app](https://hanzo.app) to download. + +### Local Preview +```bash +npm run preview +# Visit http://localhost:3000 +``` + +### Deployment +```bash +npm run deploy # Deploy to production +npm run deploy:preview # Deploy preview +``` + ## 🔗 Links -🚀 **[Login to Hanzo AI](https://iam.hanzo.ai)** | 🌐 **[Hanzo AI](https://hanzo.ai)** | 📖 **[Docs](https://docs.hanzo.ai)** | 💬 **[Discord](https://discord.gg/hanzoai)** +🚀 **[Login to Hanzo AI](https://iam.hanzo.ai)** | 🌐 **[Hanzo AI](https://hanzo.ai)** | 📖 **[Docs](https://docs.hanzo.ai)** | 💬 **[Discord](https://discord.gg/hanzoai)** | 📱 **[Download Apps](https://hanzo.app)** --- diff --git a/hanzo-app.html b/hanzo-app.html new file mode 100644 index 0000000..ddffb6d --- /dev/null +++ b/hanzo-app.html @@ -0,0 +1,720 @@ + + + + + + Hanzo - AI Development Platform for Every Device + + + +
+ +
+ +
+
+

AI Development
Everywhere You Code

+

Access Hanzo's parallel AI agents from desktop, mobile, browser, IDE, or command line. One platform, endless possibilities.

+
+
+ +
+
+
+ +
+ 🖥️ +

Desktop App

+ Windows • macOS • Linux +

Native desktop experience with full system integration

+ +
+ + +
+ 📱 +

Mobile Apps

+ iOS • Android +

AI assistance on the go with mobile optimization

+ +
+ + +
+ 🌐 +

Browser Extension

+ Chrome • Firefox • Edge • Safari +

AI assistance while browsing and researching

+ +
+ + +
+ 💻 +

VS Code Extension

+ Visual Studio Code +

Deep IDE integration with IntelliSense support

+ +
+ + +
+ 🧩 +

JetBrains Plugin

+ IntelliJ • PyCharm • WebStorm +

Full JetBrains IDE integration

+ +
+ + +
+ ⌨️ +

Dev CLI

+ Terminal • Command Line +

Powerful CLI for automation and scripting

+
+ + + + 📚 CLI Docs + +
+
+ + +
+ 🔧 +

MCP Server

+ Model Context Protocol +

Use with Claude Desktop and MCP-compatible tools

+
+ + + + 📚 MCP Docs + +
+
+ + +
+ ☁️ +

Cloud Platform

+ Web • API • Teams +

Web-based access with team collaboration

+ +
+ + +
+ +

More Platforms

+ Coming Soon +

Expanding to more platforms

+
+ + + +
+
+
+
+
+ +
+
+
+

Quick Start in 30 Seconds

+

Choose your preferred method and start shipping faster

+ +
+ # Option 1: CLI (Recommended) + npm install -g @hanzo/dev + dev login + dev enhance "add user authentication" + + # Option 2: MCP Server for Claude Desktop + npm install -g @hanzo/mcp + npx @hanzo/mcp configure + + # Option 3: Cloud Platform + # Visit cloud.hanzo.ai and sign up +
+
+
+
+ +
+
+

One Platform, Every Device

+

Access the same powerful AI capabilities anywhere you work

+ +
+
+ +

Parallel AI Agents

+

Run 100+ AI agents simultaneously for instant results

+
+ +
+ 🧠 +

Unified Memory

+

Your entire codebase indexed and accessible

+
+ +
+ 🔄 +

Cross-Device Sync

+

Seamless experience across all your devices

+
+ +
+ 🤖 +

200+ AI Models

+

Access every major AI model through one interface

+
+ +
+ 🔧 +

4000+ MCP Tools

+

File ops, search, browser automation, and more

+
+ +
+ 👥 +

Team Collaboration

+

Share context and work together efficiently

+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/package.json b/package.json index 34ab6e5..f5ce052 100644 --- a/package.json +++ b/package.json @@ -282,7 +282,10 @@ "publish:npm": "npm run build:claude-desktop && cd dist/claude-desktop && npm publish", "dev": "cross-env VSCODE_ENV=development npm run watch", "dev:mcp": "cross-env MCP_TRANSPORT=stdio node ./out/mcp-server-standalone.js", - "start:prod": "cross-env VSCODE_ENV=production npm run watch" + "start:prod": "cross-env VSCODE_ENV=production npm run watch", + "preview": "npx serve . -p 3000", + "deploy": "vercel --prod", + "deploy:preview": "vercel" }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..7d271c2 --- /dev/null +++ b/vercel.json @@ -0,0 +1,34 @@ +{ + "rewrites": [ + { "source": "/dev", "destination": "/landing.html" }, + { "source": "/", "destination": "/hanzo-app.html" } + ], + "headers": [ + { + "source": "/(.*)", + "headers": [ + { "key": "X-Content-Type-Options", "value": "nosniff" }, + { "key": "X-Frame-Options", "value": "DENY" }, + { "key": "X-XSS-Protection", "value": "1; mode=block" }, + { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" } + ] + } + ], + "redirects": [ + { + "source": "/download/vscode", + "destination": "https://marketplace.visualstudio.com/items?itemName=hanzo-ai.hanzo-ai", + "permanent": false + }, + { + "source": "/download/jetbrains", + "destination": "https://github.com/hanzoai/extension/releases/latest", + "permanent": false + }, + { + "source": "/github", + "destination": "https://github.com/hanzoai/extension", + "permanent": false + } + ] +} \ No newline at end of file