---
name: ignite:ui
description: Open the Ignite Memory UI for real-time observability
allowed-tools:
  - Bash
---

<objective>
Launch the Ignite Memory web interface for full observability into your development process.

The UI provides:
- 🧠 Real-time memory stream
- 🗺️ Project milestones & phases
- 📋 Phase plans & revisions
- 🤖 Active agents and their activity
- 📂 Generated artifacts
- 🔍 Memory search interface

Access at: http://localhost:37777
</objective>

<process>

## Step 1: Check Memory System

Ensure the memory worker service is running:

```bash
# Check if worker is running
curl -s http://localhost:37777/health || echo "not running"
```

## Step 2: Start Worker if Needed

If worker is not running, start it:

```bash
cd ~/.claude/ignite
npm run memory:start
```

## Step 3: Open Browser

Open the UI in the default browser:

```bash
# macOS
open http://localhost:37777

# Linux
xdg-open http://localhost:37777 2>/dev/null || echo "Please open http://localhost:37777 in your browser"

# Windows
start http://localhost:37777 2>nul || echo "Please open http://localhost:37777 in your browser"
```

## Step 4: Display Success

Show the user that the UI is ready:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Ignite ► MEMORY UI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ Memory UI is running at: http://localhost:37777

## Features Available:

📊 **Dashboard**
   - Current project status
   - Active phases and progress
   - Recent observations

🧠 **Memory Stream**
   - Real-time observation capture
   - Agent activity monitoring
   - Token usage tracking

🔍 **Search Interface**
   - Natural language queries
   - Filter by type, project, phase
   - Export results

📈 **Analytics**
   - Pattern detection
   - Decision outcomes
   - Performance metrics

───────────────────────────────────────────────────────

The UI will auto-refresh as you work.
Keep it open to monitor agent activity in real-time.

Press Ctrl+C to stop the UI server when done.
```

</process>

<implementation>

Create a simple launcher script at `ignite/memory/ui/launcher.js`:

```javascript
const { getMemoryBridge } = require('../lib/memory-bridge.js');
const { exec } = require('child_process');
const os = require('os');

async function launchUI() {
  const memory = getMemoryBridge();

  // Initialize and start worker
  const init = await memory.initialize();
  if (!init.success) {
    console.error('Failed to start memory system:', init.error);
    return;
  }

  // Determine platform and open browser
  const url = 'http://localhost:37777';
  let command;

  switch(os.platform()) {
    case 'darwin':
      command = `open ${url}`;
      break;
    case 'win32':
      command = `start ${url}`;
      break;
    default:
      command = `xdg-open ${url}`;
  }

  exec(command, (error) => {
    if (error) {
      console.log(`\nPlease open ${url} in your browser\n`);
    }
  });

  console.log(`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Ignite ► MEMORY UI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ Memory UI is running at: ${url}

The UI will auto-refresh as you work.
Press Ctrl+C to stop the server.
  `);
}

if (require.main === module) {
  launchUI();
}

module.exports = { launchUI };
```

</implementation>

<success_criteria>
- [ ] Memory worker service started
- [ ] Web UI accessible at localhost:37777
- [ ] Browser opened automatically (platform-specific)
- [ ] Success message displayed
- [ ] UI features explained to user
- [ ] Server remains running for monitoring
</success_criteria>