Get Clippy Revival running in 5 minutes!
Run this command to verify you have everything:
.\scripts\validate-milestone.ps1If you're missing anything, install these tools:
- Node.js 20+: https://nodejs.org/
- Python 3.10-3.12: https://python.org/
- Ollama: https://ollama.ai/
# Clone the repository (if not already done)
git clone <repository-url>
cd clippy-revival
# Install Node dependencies
npm install
# Setup Python environment
cd backend
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
cd ..# Pull a small, fast model
ollama pull llama3.2
# Or for better quality (larger):
ollama pull llama3.2:13bnpm run devThis will:
- ✅ Start webpack dev server (http://localhost:5173)
- ✅ Launch Electron with hot reload
- ✅ Spawn Python backend (http://127.0.0.1:43110)
- ✅ Show Clippy in your system tray
- Right-click tray icon → Show Dashboard
- You should see real-time CPU, RAM, disk stats
- In dashboard, open chat interface
- Type: "Hello, who are you?"
- Watch Clippy animate while AI responds!
- Click Characters in sidebar
- Preview animation states
- Import custom character packs (optional)
- Right-click tray → Show Buddy
- Drag the floating Clippy around
- Double-click to enable click-through mode
# Check if port is available
netstat -ano | findstr :43110
# Manually start backend
cd backend
.\venv\Scripts\Activate.ps1
python app.py# Verify Ollama is running
ollama list
# Start Ollama service if needed
ollama serve# Reinstall dependencies
npm install
cd backend
pip install -r requirements.txtChanges auto-reload:
- Frontend (React): Edit
src/files, see changes instantly - Backend (Python): Edit
backend/files, backend restarts automatically
- Backend logs: Check console where you ran
npm run dev - Frontend logs: Open DevTools in Electron (Ctrl+Shift+I)
Visit http://127.0.0.1:43110/docs for interactive API documentation
# Build everything and package as ZIP
npm run pack
# Output: build/Clippy-Revival-1.0.0-win.zipclippy-revival/
├── electron/ # Electron main process
│ ├── main.js # App lifecycle, windows, tray
│ └── preload.js # Secure IPC bridge
├── src/ # React frontend
│ ├── components/ # Reusable UI components
│ ├── pages/ # Dashboard, Characters, Settings
│ ├── store/ # Zustand state management
│ └── App.js # Root component with routing
├── backend/ # Python FastAPI backend
│ ├── api/ # API route handlers
│ ├── services/ # Business logic (AI, files, etc.)
│ └── app.py # Main FastAPI application
├── characters/ # Character pack storage
│ ├── clippy-classic/
│ └── character-schema.json
└── scripts/ # Build and validation scripts
| File | Purpose |
|---|---|
src/store/appStore.js |
Global state (chat, metrics, character state) |
backend/app.py |
Backend entry point, API routes |
electron/main.js |
Window management, backend spawning |
src/pages/Dashboard.js |
Main UI dashboard |
backend/services/ollama_service.py |
AI chat integration |
backend/services/agent_service.py |
Tool orchestration |
- Create a folder in
characters/my-character/ - Add
character.jsonmanifest - Add animation frames in
assets/ - Import via Characters page
See characters/README.md for detailed instructions.
- Edit system prompt in
backend/services/ollama_service.py - Add new tools in
backend/services/agent_service.py - Register tools in the tool registry
- Backend: Create service in
backend/services/your_feature.py - API: Add router in
backend/api/your_feature_router.py - Frontend: Create component in
src/components/YourFeature.js - State: Update
src/store/appStore.js
- README.md - Full installation and usage guide
- ARCHITECTURE.md - Technical design and data flow
- BUILD.md - Build and packaging instructions
- API Docs - http://127.0.0.1:43110/docs (when running)
.\scripts\validate-milestone.ps1curl http://127.0.0.1:43110/healthnpm run dev # Start development mode
npm run build # Build frontend only
npm run pack # Build and package everything
npm test # Run tests
npm run lint # Check code style- Fast Iteration: Keep
npm run devrunning, edit files, see changes instantly - Debug Backend: Add
import pdb; pdb.set_trace()for breakpoints - Debug Frontend: Use React DevTools extension in Electron
- Test AI Without UI: Use
curlor the API docs at/docs - Character Preview: Use Characters page preview before activating
Want to contribute? Great!
- Fork the repository
- Create a feature branch
- Make your changes
- Test with
.\scripts\validate-milestone.ps1 - Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
Happy Coding! 📎
Remember: "It looks like you're trying to write code. Would you like help with that?"