#!/bin/sh set -e CAIRN="https://cairn.panshi.io" NAME="${1:-$(basename "$(pwd)")}" G="\033[32m"; Y="\033[33m"; C="\033[36m"; R="\033[31m"; N="\033[0m"; D="\033[2m" echo "${G}⬡ Cairn${N} Setting up in $(pwd)..." echo " ${D}正在 $(pwd) 中配置...${N}" echo "" if [ -f .mcp.json ]; then BACKUP=".mcp.json.bak.$(date +%Y%m%d%H%M%S)" echo "${Y}⚠ Found .mcp.json / 检测到已有 .mcp.json${N}" echo " Will back up to / 将备份为: $BACKUP" echo " Then write Cairn config / 然后写入 Cairn 配置" printf " Continue / 继续? [Y/n] " read -r REPLY < /dev/tty || REPLY="y" case "$REPLY" in [nN]*) echo "Cancelled / 已取消"; exit 0 ;; esac cp .mcp.json "$BACKUP" echo " ${G}✓${N} Backed up / 已备份: $BACKUP" else echo " No .mcp.json found / 未检测到 .mcp.json" echo " Will create a new one / 将创建新文件" printf " Continue / 继续? [Y/n] " read -r REPLY < /dev/tty || REPLY="y" case "$REPLY" in [nN]*) echo "Cancelled / 已取消"; exit 0 ;; esac fi echo "" echo " Creating project / 正在创建项目..." RESP=$(curl -fsSL -X POST "$CAIRN/projects" -H "Content-Type: application/json" -d "{\"name\": \"$NAME\"}") TOKEN=$(echo "$RESP" | grep -o '"token":"[^"]*"' | head -1 | cut -d'"' -f4) PID=$(echo "$RESP" | grep -o '"project_id":"[^"]*"' | head -1 | cut -d'"' -f4) if [ -z "$TOKEN" ]; then echo "${R}✗ Failed / 失败${N}" echo "$RESP"; exit 1 fi cat > .mcp.json << MCPEOF { "cairn": { "type": "http", "url": "$CAIRN/mcp", "headers": { "Authorization": "Bearer $TOKEN" } } } MCPEOF echo "" echo "${G}✓ Done!${N}" echo "" echo " Project: $PID" echo " Token: $TOKEN" echo " Config: .mcp.json" echo "" echo " ${C}📊 Dashboard:${N} $CAIRN/dashboard" echo " Paste token to view sessions, locks, handoffs," echo " changelog, memories, and quality checks." echo " 用 token 登录查看 session、文件锁、任务、" echo " 变更日志、记忆库、质量检查。" echo "" echo " ${Y}⚠ Save your token — shown only once.${N}" echo " 请保存 token —— 只显示这一次。" echo " Lost = cannot recover (but can rotate)." echo " 丢失后无法恢复(但可以轮换)。" echo "" echo " ${G}🔒 Privacy / 隐私:${N}" echo " Only session metadata stored (topics, paths, status)." echo " 只存 session 元数据(主题、路径、状态)。" echo " Source code never stored — scanned and discarded." echo " 源代码不存储——扫描后立即丢弃。" echo "" echo " ${G}Next / 下一步:${N}" echo " Start your AI agent (Claude Code / Codex / Cursor / Pi)" echo " 启动你的 AI agent,它会自动使用 Cairn 的 8 个工具。"