Pulse/.agent/workflows/dev-environment.md
rcourtman 67351bf58c feat: AI integration, Docker metrics, RAID display, and infrastructure improvements
- Add Claude OAuth authentication support with hybrid API key/OAuth flow
- Implement Docker container historical metrics in backend and charts API
- Add CEPH cluster data collection and new Ceph page
- Enhance RAID status display with detailed tooltips and visual indicators
- Fix host deduplication logic with Docker bridge IP filtering
- Fix NVMe temperature collection in host agent
- Add comprehensive test coverage for new features
- Improve frontend sparklines and metrics history handling
- Fix navigation issues and frontend reload loops
2025-12-09 09:29:27 +00:00

46 lines
1.5 KiB
Markdown

---
description: How the development environment works and how to manage it
---
# Pulse Development Environment
This is a **development-only machine**. Production is never run here.
## Primary Service: `pulse-hot-dev`
The dev environment uses a **single systemd service** that runs both backend and frontend with hot-reloading:
```bash
# Status check
systemctl status pulse-hot-dev
# Restart (if needed)
// turbo
sudo systemctl restart pulse-hot-dev
# View logs
journalctl -u pulse-hot-dev -f
```
### What `pulse-hot-dev` does:
1. **Go Backend** (`./pulse`): Monitored by `inotifywait` - auto-rebuilds and restarts when `.go` files change
2. **Vite Frontend**: HMR enabled - browser updates instantly when frontend files change
### Access URLs:
- **Frontend**: http://192.168.0.123:5173/ (Vite dev server with HMR)
- **Backend API**: http://192.168.0.123:7655/ (Go server, proxied through Vite)
## DO NOT USE these services in development:
- `pulse.service` - This is for production (runs pre-built binary without hot-reload)
- Do NOT create separate `pulse-frontend.service` - the hot-dev script handles everything
## When things don't work:
1. **Frontend not loading at :5173** → Check if `pulse-hot-dev` is running
2. **Backend changes not reflected** → Check logs: `journalctl -u pulse-hot-dev -f`
3. **Need full restart**`sudo systemctl restart pulse-hot-dev`
## Key Files:
- **Hot-dev script**: `/opt/pulse/scripts/hot-dev.sh`
- **Systemd service**: `/etc/systemd/system/pulse-hot-dev.service`
- **Makefile targets**: `make dev` or `make dev-hot`