- ProjectShell right panel (Discovery/Captured) hidden when on design tab
- SurfaceSection restructured: scaffold preview center, controls right panel (280px)
- Library cards in 2-col grid, configurator and color picker scroll in right panel
- Main content area uses full height without extra padding
Made-with: Cursor
Users can now compose their marketing site by selecting:
- Mode (dark/light), Background style (gradient/beams/meteors/etc.),
Nav style, Hero header layout, which Sections appear, and Font.
All 4 marketing scaffolds (DaisyUI, HeroUI, Aceternity, Tailwind)
respond live to config changes. Library capability cards + style
options data defined per library. Aceternity shows actual
background effects (beams, meteors, sparkles, wavy, dot-grid).
Made-with: Cursor
Each library option now shows: best-for summary, 3 key highlights,
capability tags, Templates badge, and Dark-first badge. All surface
themes updated with richer metadata. Marketing surface updated with
full highlights for DaisyUI/HeroUI/Aceternity/Tailwind.
Made-with: Cursor
- Detect [[NEXT_STEP:{...}]] marker in Atlas messages alongside existing
[[PHASE_COMPLETE:{...}]] - extracted via extractMarkers()
- When action=generate_architecture, render an inline action card in
the chat: button calls POST /architecture, shows spinner while
generating, then success state with direct link to Build tab
- Add spin keyframe; thread workspace param through MessageRow
Made-with: Cursor
- Architecture route now uses /generate endpoint (no Atlas session
overhead, no conflicting system prompt) for clean JSON generation
- Design page fetches saved architecture on load and maps designSurfaces
to known surface IDs via fuzzy match; AI-suggested surfaces are
pre-selected in the picker with an "AI" badge and explanatory note
Made-with: Cursor
- Remove GitHub step entirely; single input + Next button
- Creates project immediately, redirects to /overview on success
- Rewritten in Stackless inline style (no shadcn Dialog/Button/Input)
Made-with: Cursor
- Add cleanup flag to useEffect to prevent state updates after unmount,
eliminating the race condition on rapid navigation
- Add handleReset: calls DELETE endpoint, clears state, re-triggers greeting
- Add subtle "Reset" button (top-right of message area) so user can wipe
polluted history and start fresh
Made-with: Cursor
- Toggle with ‹‹/›› button; state persists in localStorage
- Collapsed (56px): icons only, nav labels as native title tooltips,
project list shows status dots only, user avatar centered
- Smooth 200ms cubic-bezier width transition; no flash on initial load
- Expanded (220px): unchanged visual layout
Made-with: Cursor
- GET /api/projects/[id]/atlas-chat returns stored user+assistant messages
- POST handles __atlas_init__ trigger: runs once when no history exists,
not stored as a user turn so Atlas intro appears cleanly
- Rewrite AtlasChat.tsx: fully self-contained component with own message
state; loads history from DB on mount, only greets on first open
- Remove assistant-ui runtime dependency for message persistence
- Add Vision & Success Metrics, Integrations & Dependencies, Open Questions
to PRD section tracker (now 12 sections matching the PDF)
Made-with: Cursor
- Replace all Tailwind/shadcn classes with inline styles
- Use warm beige palette, Outfit/Newsreader fonts, Stackless card pattern
- Replace Lucide icons with simple Unicode glyphs
- Surface picker and left nav match the sidebar/activity visual language
- Controls bar (library tabs, swatches, lock-in) restyled to match
Made-with: Cursor
- Add project description line to project header (from productVision)
- Sidebar: add Activity nav item (Projects / Activity / Settings)
- New Activity page: timeline feed with type filters (Atlas/Builds/Deploys/You)
- New Activity layout using VIBNSidebar
- Rewrite Deploy tab: Project URLs, Custom Domain, Env Vars, Deploy History
— fully Stackless style, real data from project API, no more MOCK_PROJECT
- Rewrite Project Settings tab: remove all Firebase refs (db, auth, Firestore)
— General (name/description), Repo link, Collaborators, Export JSON/PDF,
— Danger Zone with double-confirm delete
— uses /api/projects/[id] PATCH for saves
Made-with: Cursor
- Replace Geist with Outfit (sans), Newsreader (serif), IBM Plex Mono
loaded via next/font for optimal performance and no layout shift
- Wire --font-sans/serif/mono CSS variables to new fonts
- body/button/input now render in Outfit by default
- Add Stackless global polish: 4px thin scrollbars (#d0ccc4 thumb),
black ::selection, input placeholder color #b5b0a6
Made-with: Cursor
- Remove card container (no more rounded-2xl, ring, 600px height)
- Chat fills the full layout space naturally
- Avatars: 28x28 rounded-7 squares (black for Atlas, warm gray for user)
- Both sides use same avatar+label layout (no right-aligned bubbles)
- Sender labels: tiny uppercase ATLAS / YOU above each message
- Input bar: white pill with border, Send button, Stop for streaming
- User initial pulled from session (name or email first letter)
Made-with: Cursor
Shows Discovery phase tracker (Big Picture → Risks), Captured data
from Atlas, and Project Info (created, last active, features).
Data flows from DB via layout server component.
Made-with: Cursor
Theme swatches removed from inside scaffold components. Theme state
lifted to SurfaceSection which passes themeColor down as a prop.
Controls bar below the scaffold now has three rows:
1. Library tabs (shadcn / Mantine / HeroUI / Tremor etc.)
2. Color theme swatches — only shown when the active library has
theme variants (shadcn: 8, Mantine: 6, HeroUI: 5, Tremor: 5,
DaisyUI: 12, HeroUI marketing: 6)
3. Description + tags + Docs link + Lock in button
Scaffold renders cleanly with no UI chrome inside it.
Made-with: Cursor
DaisyUI scaffold now has 12 named themes (Dark, Light, Cupcake, Bee,
Synthwave, Cyberpunk, Retro, Dracula, Night, Forest, Coffee, Winter).
Each theme changes the page background, card bg, text, borders, and
primary color — swatch shows a split circle of bg+primary so you can
preview the full palette at a glance.
HeroUI marketing scaffold has 6 prebuilt themes (Purple, Blue, Teal,
Rose, Dark, Modern) matching heroui.com/themes.
ThemeColor type now supports optional bg/cardBg/textColor/borderColor/
mutedText fields for full-page dark/light palette overrides.
Made-with: Cursor
Each web app scaffold (shadcn, Mantine, HeroUI, Tremor) now shows
a row of color swatches in the header. Clicking a swatch updates the
primary color across the entire scaffold — sidebar active state,
buttons, bar chart, badges, toggles, and status indicators all update
live. shadcn has 8 themes (Neutral/Blue/Green/Orange/Red/Rose/Violet/
Yellow), Mantine has 6, HeroUI has 5, Tremor has 5.
Made-with: Cursor
Each web app scaffold (shadcn, Mantine, HeroUI, Tremor) now has
clickable sidebar nav between Dashboard, Users, and Settings pages.
Dashboard shows stat cards + bar chart + activity feed. Users shows
a full data table with roles, status badges, and invite controls.
Settings shows form inputs and notification toggles — all styled to
each library's visual language.
Made-with: Cursor
Each surface now shows a realistic scaffold preview in a browser chrome
frame. Tab bar at the top toggles between library options (shadcn,
DaisyUI, HeroUI, Mantine, Aceternity, etc.) — the scaffold updates
instantly to show that library's visual language. Lock in confirms
the choice. Scaffolds cover all 6 surfaces × their library options.
Made-with: Cursor
- AI Chat nav item now routes to /overview instead of /v_ai_chat
- Removed Plan, Docs, Tech, Journey nav items
- Deleted old v_ai_chat page
- Cleaned up unused imports and route detection logic
Made-with: Cursor
Phase 1: user picks which surfaces their product needs (Web App,
Marketing Site, Admin, Mobile, Email, Docs). Phase 2: per-surface
horizontal card gallery with mini visual previews of each UI library.
Lock in confirms the choice; locked themes are saved to DB and shown
to the AI coder. Surfaces and themes stored in fs_projects.data.
Made-with: Cursor
Replaces the old design page with a per-app package selector. Fetches
real apps/ from the project's Gitea repo and lets users assign a UI
library (shadcn, DaisyUI, HeroUI, Mantine, Headless UI, or Tailwind
only) independently per app. Selections saved to fs_projects.data.designPackages.
Made-with: Cursor
- Replace beige background with clean neutral white (matches Grok aesthetic)
- Remove hardcoded hex colors in thread.tsx - use CSS variables throughout
- Remove scroll-to-bottom button that showed incorrectly after auto-send
- Chat container now integrates visually with the page instead of floating
Made-with: Cursor
Clean pill composer with inverted send button, plain assistant messages
(no bubble), centered welcome+composer when thread is empty, and Grok
color palette (#fdfdfd/#141414 backgrounds, ring borders).
Made-with: Cursor
entrypoint.sh: removed --accept-data-loss from prisma db push.
That flag was silently dropping fs_users, fs_projects etc. on every
container restart, wiping all user/project data. Made the push
non-fatal so a schema mismatch doesn't block startup.
create/route.ts: fixed same broken ON CONFLICT expression as
authOptions.ts — replaced with explicit SELECT + INSERT/UPDATE
to reliably upsert fs_users before inserting the project.
Made-with: Cursor