mirror of
https://github.com/ruvnet/ruflo.git
synced 2026-09-14 14:01:28 +08:00
e58154a426
* feat(goal_ui): import goap-ui-main (GOAP research UI) Unzipped from v3/goal_ui/goap-ui-main.zip — a Vite + React + Supabase research planning UI. 354 files including: - React UI (src/, components.json, tailwind, vite config) - Supabase Edge Functions (generate-action-items, generate-research- goal, optimize-research-config, research-api, research-step) - Widget build pipeline (build-widget.sh) - Deployment notes (DEPLOYMENT*.md, netlify.toml) .env is intentionally force-committed (overrides root .gitignore entries on lines 61 + 161). It contains only Vite's VITE_* prefixed client-public Supabase config: VITE_SUPABASE_PROJECT_ID VITE_SUPABASE_PUBLISHABLE_KEY ← Supabase publishable/anon key VITE_SUPABASE_URL These values ship in every Vite client bundle by design — RLS on the Supabase project is the actual access gate, not key secrecy. No sk-*, JWT, or service_role keys in the file (verified with secret heuristic regex). Co-Authored-By: RuFlo <ruv@ruv.net> * refactor(goal_ui): flatten goap-ui-main/ into goal_ui/ The previous import nested everything under v3/goal_ui/goap-ui-main/ — two folders for one project. Move all 354 files up one level so the layout reads: v3/goal_ui/ .env package.json src/ supabase/ ... instead of the redundant v3/goal_ui/goap-ui-main/... Build output dist/ removed (it was untracked and shouldn't ship — generated by `npm run build`). Co-Authored-By: RuFlo <ruv@ruv.net> * feat(goal_ui): rebrand to RuFlo Research, clean up scaffolding, drop Lovable favicon - Rebrand v3/goal_ui as RuFlo Research (https://goal.ruv.io/) - package.json: name → @ruflo/research, drop lovable-tagger - vite.config.ts: remove componentTagger / lovable-tagger import - index.html: SEO/OG/Twitter meta retargeted to goal.ruv.io - src/widget.tsx + Demo.tsx + WidgetCustomizer.tsx + widget-embed.html: window.GOAPWidget* → window.RufloResearchWidget* container id → ruflo-research-widget-container - Replace Lovable purple-gradient favicon.ico (PNG) with RuFlo SVG mark - Drop unreferenced placeholder.svg boilerplate - Move docs into v3/goal_ui/docs/ (DEPLOYMENT, WIDGET-INTEGRATION, WIDGET_SETUP) - Delete out-of-scope plans/agentic-flow/, duplicate WIDGET-INTEGRATION.md, bun.lockb (npm-only project), TEMPLATE_README, SETUP_GUIDE, DEPLOYMENT-FIX, nested CLAUDE.md, and stale .claude/.github duplicates from flatten residue - Rewrite v3/goal_ui/README.md as RuFlo Research overview - Update root README "What You Get": add RuFlo Research row pointing at goal.ruv.io - Drop SEO keyword spam lines from Web UI and Goal Planner sections Algorithm references to GOAP (goapPlanner.ts, GOAPPlanner, parseGoal) preserved — GOAP is the algorithm name, not the brand. Co-Authored-By: RuFlo <ruv@ruv.net> --------- Co-authored-by: Reuven <cohen@ruv-mac-mini.local>
92 lines
3.2 KiB
JSON
92 lines
3.2 KiB
JSON
{
|
|
"name": "@ruflo/research",
|
|
"description": "RuFlo Research — Goal-Oriented Action Planning UI for autonomous AI research workflows",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "npm run build:widget-only && npm run copy:widget && vite build && npm run copy:widget-to-dist",
|
|
"build:app": "vite build",
|
|
"build:dev": "vite build --mode development",
|
|
"build:widget-only": "BUILD_WIDGET=true vite build",
|
|
"build:widget": "npm run build:widget-only && npm run copy:widget",
|
|
"copy:widget": "cp dist/widget.js public/ && cp dist/widget.css public/",
|
|
"copy:widget-to-dist": "cp public/widget.js dist/ && cp public/widget.css dist/",
|
|
"widget:dev": "npm run build:widget && npm run dev",
|
|
"lint": "eslint .",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@hookform/resolvers": "^3.10.0",
|
|
"@radix-ui/react-accordion": "^1.2.11",
|
|
"@radix-ui/react-alert-dialog": "^1.1.14",
|
|
"@radix-ui/react-aspect-ratio": "^1.1.7",
|
|
"@radix-ui/react-avatar": "^1.1.10",
|
|
"@radix-ui/react-checkbox": "^1.3.2",
|
|
"@radix-ui/react-collapsible": "^1.1.11",
|
|
"@radix-ui/react-context-menu": "^2.2.15",
|
|
"@radix-ui/react-dialog": "^1.1.14",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.15",
|
|
"@radix-ui/react-hover-card": "^1.1.14",
|
|
"@radix-ui/react-label": "^2.1.7",
|
|
"@radix-ui/react-menubar": "^1.1.15",
|
|
"@radix-ui/react-navigation-menu": "^1.2.13",
|
|
"@radix-ui/react-popover": "^1.1.14",
|
|
"@radix-ui/react-progress": "^1.1.7",
|
|
"@radix-ui/react-radio-group": "^1.3.7",
|
|
"@radix-ui/react-scroll-area": "^1.2.9",
|
|
"@radix-ui/react-select": "^2.2.5",
|
|
"@radix-ui/react-separator": "^1.1.7",
|
|
"@radix-ui/react-slider": "^1.3.5",
|
|
"@radix-ui/react-slot": "^1.2.3",
|
|
"@radix-ui/react-switch": "^1.2.5",
|
|
"@radix-ui/react-tabs": "^1.1.12",
|
|
"@radix-ui/react-toast": "^1.2.14",
|
|
"@radix-ui/react-toggle": "^1.1.9",
|
|
"@radix-ui/react-toggle-group": "^1.1.10",
|
|
"@radix-ui/react-tooltip": "^1.2.7",
|
|
"@supabase/supabase-js": "^2.74.0",
|
|
"@tanstack/react-query": "^5.83.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"date-fns": "^3.6.0",
|
|
"embla-carousel-react": "^8.6.0",
|
|
"input-otp": "^1.4.2",
|
|
"lucide-react": "^0.462.0",
|
|
"next-themes": "^0.3.0",
|
|
"react": "^18.3.1",
|
|
"react-day-picker": "^8.10.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-hook-form": "^7.61.1",
|
|
"react-resizable-panels": "^2.1.9",
|
|
"react-router-dom": "^6.30.1",
|
|
"reactflow": "^11.11.4",
|
|
"recharts": "^2.15.4",
|
|
"sonner": "^1.7.4",
|
|
"tailwind-merge": "^2.6.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"vaul": "^0.9.9",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.32.0",
|
|
"@tailwindcss/typography": "^0.5.16",
|
|
"@types/node": "^22.16.5",
|
|
"@types/react": "^18.3.23",
|
|
"@types/react-dom": "^18.3.7",
|
|
"@vitejs/plugin-react-swc": "^3.11.0",
|
|
"autoprefixer": "^10.4.21",
|
|
"eslint": "^9.32.0",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
"globals": "^15.15.0",
|
|
"postcss": "^8.5.6",
|
|
"tailwindcss": "^3.4.17",
|
|
"typescript": "^5.8.3",
|
|
"typescript-eslint": "^8.38.0",
|
|
"vite": "^5.4.19"
|
|
}
|
|
}
|