# CE Project Hub System — Brief

## What this is
A system that gives every CE project a browsable web hub, a living status doc, and Claude Code context — so anyone (Assaf, Lukas, future team) can open a project, see where it stands, access all assets, and start working with full context.

## What was built (April 4, 2026)

### 1. Channel Folders (server)
Every Discord channel from all 5 guilds got a flat, browsable folder:
- `/root/ce-channels/` — 57 CE Main channels
- `/root/ce-channels-ce-lite/` — 35 CE Lite channels
- `/root/ce-channels-olevia/` — 7 Olevia channels
- `/root/ce-channels-spoken/` — 12 Spoken channels
- `/root/ce-channels-white-space/` — 8 White Space channels

Each folder contains:
- `CLAUDE.md` — Kitt identity + channel context
- `discord-history.md` or `history.json` — full conversation history
- `project-*`, `pitch-*`, `assets-*` — real dirs with symlinked project files

Git repo at `/root/ce-channels/` for Claude Code compatibility.

### 2. AI Summaries (Haiku)
113 channel summaries generated via Claude Haiku API.
Location: `/root/.openclaw/workspace/work/internal-ce/project-hub-system/summaries/`
Format: `{guild}--{channel}.md` with Overview, Key Decisions, Open Items, Key Links.

### 3. SSH Fix
Claude Code desktop app crashes when connecting as root.
Fix: wrapper at `/root/.claude/remote/ccd-cli/2.1.87` strips `--allow-dangerously-skip-permissions` flag.
Real binary: `/root/.claude/remote/ccd-cli/2.1.87.real`
**Warning:** Desktop app may overwrite on update. Re-apply wrapper if SSH breaks.

### 4. Cropster — Full Project Example
The "full project" tier template. Lives at:
- Hub page: `staging.curiousendeavor.com/projects/cropster/`
- Source: `/root/.openclaw/workspace/public/projects/cropster/index.html`
- Status doc: `/root/ce-channels-ce-lite/cropster/project.md`
- Claude context: `/root/ce-channels-ce-lite/cropster/CLAUDE.md`

Features:
- Control center header with status, owner, contact, next action, activity log
- Sticky nav: Pitch, Research, Brand Assets, Open Items, Notes, Files
- Asset cards with thumbnails linking to live pages
- Session rules in CLAUDE.md: read project.md at start, update it at end

### 5. Notion
CE workspace: https://www.notion.so/338330c28646818aa501ede2068bdb46
Contains: Project Tracker (12 projects), Sales Pipeline, Discord Archive (guild pages with channel subpages).
**Assessment:** Notion is good for CRM/status tracking. Not ideal for file browsing or creative production — the server + web pages handle that better.

### 6. Scripts
Saved to: `/root/.openclaw/workspace/work/internal-ce/project-hub-system/scripts/`
- `enrich-channels.sh` — links project files into channel folders
- `fix-symlinks.sh` — converts symlinks to real dirs (for Claude Code folder picker)
- `summarize-channels.py` — runs Haiku on all channel histories (needs ANTHROPIC_API_KEY)
- `extract-history.py` — converts Discord JSON exports to readable markdown

## What needs to happen next

### Roll out project tiers

**Full project** (use Cropster as template):
- Control center web page with dashboard header
- `project.md` — living status doc updated every session
- `CLAUDE.md` with session rules
- Asset cards linking to pitch, research, brand files
- Candidates: eToro, Olevia, Spoken, Brandwatch, White Space, WFP, Mission Mode

**Light project:**
- Simple web page with Haiku summary + key links
- Basic CLAUDE.md with channel context
- No project.md, no control center
- Candidates: Botika, Team8, HUD, Fioner, Metaroom, American Flat

**Archive:**
- Haiku summary only in the channel folder
- No web page
- Candidates: 1-message channels, dead threads, completed projects

### Build the project page generator
A script that:
1. Takes a project name and tier
2. Scans the server for all related files (active-projects, pitches, public)
3. Generates the web hub page from the Cropster HTML template
4. Creates or updates project.md from Haiku summary + file inventory
5. Sets up CLAUDE.md with session rules

### Stabilize
- Move Haiku summaries into each channel CLAUDE.md so Claude has context immediately
- Add project hub page URL to each project.md
- Create a master index at `staging.curiousendeavor.com/projects/` listing all projects by tier
- Set up Notion MCP in a shared `.mcp.json` for Claude to read/write Notion

### For Lukas
- Create a dedicated user (`claude-lukas`) or give him SSH key access
- Share the Pitches section in Notion for CRM
- Show him project hub pages at staging.curiousendeavor.com/projects/
- He uses Claude Code desktop, picks a project folder, creates pitch assets

## Architecture

```
Lukas / Assaf
    |
Claude Code Desktop (SSH to server)
    |
/root/ce-channels-{guild}/{channel}/
  CLAUDE.md       <- identity + session rules
  project.md      <- living status (updated every session)
  history.json    <- Discord archive
  project-*/      <- working files
  pitch-*/        <- pitch materials
  assets-*/       <- images, brand files
    |
/root/.openclaw/workspace/public/projects/{name}/
  index.html      <- control center web page
    |
staging.curiousendeavor.com/projects/{name}/
    |
Anyone with the URL can view
```

## Key file locations
- This brief: `/root/.openclaw/workspace/work/internal-ce/project-hub-system/BRIEF.md`
- Scripts: `/root/.openclaw/workspace/work/internal-ce/project-hub-system/scripts/`
- Summaries: `/root/.openclaw/workspace/work/internal-ce/project-hub-system/summaries/`
- Cropster example: `/root/.openclaw/workspace/public/projects/cropster/index.html`
- Cropster project.md: `/root/ce-channels-ce-lite/cropster/project.md`
- Cropster CLAUDE.md: `/root/ce-channels-ce-lite/cropster/CLAUDE.md`
- Global CLAUDE.md: `/Users/assafdagan/.claude/CLAUDE.md` (local Mac)
- SSH wrapper: `/root/.claude/remote/ccd-cli/2.1.87` (strips root flag)
- API key: set in `/root/.bashrc` as ANTHROPIC_API_KEY
