-
Node.js 18+ and pnpm 10.15.1
node --version # Should be v18 or higher pnpm --version # Should be 10.15.1
-
Docker Desktop (for testing the app)
- Download from https://www.docker.com/products/docker-desktop
- Make sure Docker is running before starting the app
# Navigate to kai-desktop directory
cd kai-desktop
# Install dependencies
pnpm install# Start the app in development mode
pnpm devThis will:
- Start the Electron app with hot reload
- Open DevTools automatically
- Connect to Docker Desktop on your machine
-
Welcome Screen
- Shows detected runtime (Docker Desktop)
- Click "Next" to continue
-
Base Directory Setup
- Enter where you want AInTandem to store projects
- Example:
/Users/yourname/AInTandem - Click "Next"
-
Security Configuration
- Set Code Server password
- Click "Next"
-
Cloud Frontend URL
- Enter your cloud-deployed frontend URL
- Example:
https://aintandem-frontend.example.com - Click "Finish"
-
Dashboard
- See all Docker containers on your system
- Status badges show running/stopped state
Open the DevTools console (automatically opened in dev mode) and try:
// List all containers
await window.kai.container.list()
// Get system info
await window.kai.runtime.getSystemInfo()
// List images
await window.kai.image.list()
// Pull an image (with progress)
const unsubscribe = window.kai.image.onPullProgress((data) => {
console.log(`Pulling ${data.name}:`, data.progress)
})
await window.kai.image.pull('nginx:alpine')
unsubscribe()
// Create and start a test container
const containerId = await window.kai.container.start({
name: 'test-nginx',
image: 'nginx:alpine',
ports: { '80': '8080' }
})
// Inspect the container
await window.kai.container.inspect(containerId)
// Stop the container
await window.kai.container.stop(containerId)
// Remove the container
await window.kai.container.remove(containerId)# Build the app
pnpm build
# Create distributable for your platform
pnpm dist
# Or build for specific platforms
pnpm dist:mac # macOS DMG
pnpm dist:win # Windows NSIS installer
pnpm dist:linux # Linux AppImageBuild artifacts will be in the release/ directory.
kai-desktop/
├── src/
│ ├── main/ # Electron main process (Node.js)
│ │ ├── index.ts # App entry point, IPC handlers
│ │ └── services/ # Container runtime services
│ ├── preload/ # IPC bridge (secure context)
│ │ └── index.ts # Exposes window.kai API
│ └── renderer/ # UI (React)
│ ├── App.tsx # Main app component
│ └── pages/ # UI pages
└── package.json # Scripts and dependencies
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Preview production buildpnpm pack- Create unpacked buildpnpm dist- Create distributable packagespnpm dist:mac- Build for macOSpnpm dist:win- Build for Windowspnpm dist:linux- Build for Linux
Cause: Docker Desktop is not running or not installed
Solution:
- Install Docker Desktop from https://www.docker.com/products/docker-desktop
- Start Docker Desktop
- Wait for it to fully start (green icon in system tray)
- Restart AInTandem Desktop
Cause: Dependencies not installed properly
Solution:
rm -rf node_modules
rm pnpm-lock.yaml
pnpm installCause: IDE not picking up TypeScript configuration
Solution:
- Restart your IDE
- Make sure TypeScript language server is running
- Check that
tsconfig.jsonis in the project root
✅ Electron + TypeScript + Vite + React setup ✅ Docker Desktop integration (dockerode) ✅ Complete container runtime interface ✅ IPC bridge with type-safe API ✅ Setup wizard UI (4 steps) ✅ Basic dashboard with container list ✅ Multi-platform build configuration
⏳ Persistent configuration storage ⏳ Advanced settings panel ⏳ Config validation ⏳ "Reset to Defaults" functionality
See README.md for the complete roadmap.
- Check
README.mdfor detailed documentation - See
../docs/electron-app-migration-plan.mdfor the complete plan - See
../docs/electron-app-implementation-status.mdfor current status