How saabhashir07/x-code works
X Code presents itself as an AI project-architecture workspace, while its routes and editor also support a visual multi-page website builder. The principal workflow is authenticated users creating a project, using AI for planning or design changes, editing pages and themes, saving project data, and exporting a ZIP site. The graph includes advertised project-map, consistency, and documentation capabilities as product branches, but their runtime implementation is not visible in the sampled source. Some page and route wiring is inferred only from the tree, so uncertain call edges are omitted.
Main entry points: server.ts Supabase server client · EditorLayout.tsx Visual editor · edit/route.ts AI design editor · generate/route.ts AI project planner
Components 24
Account and workspace
- Sign in and signup
app/login/page.tsx - Onboarding
app/onboarding/page.tsx - Dashboard
app/dashboard/page.tsx - Project workspace
app/dashboard/projects/page.tsx - Admin tools
app/admin
Project authoring
- New project
app/dashboard/projects/new/page.tsx - Project details
app/dashboard/projects/[id]/page.tsx - Editor entry
app/dashboard/editor/[id]/page.tsx - Visual editor
components/editor/EditorLayout.tsx - Editor panels
components/editor/AIChat.tsx - Theme settings
components/editor/theme.ts
AI services
- AI project planner
app/api/ai/generate/route.ts - AI design editor
app/api/ai/edit/route.ts - Project map, checks, docs
components/Services.tsx
Persistence and export
- Project save
app/api/projects/save/route.ts - AI project save
app/api/ai/projects/save/route.ts - Generated project save
app/api/ai/generate/projects/save/route.ts - Site ZIP export
app/api/projects/export/route.ts - Supabase client
lib/supabase/client.ts - Supabase server client
lib/supabase/server.ts - Supabase proxy
app/api/proxy/[...path]/route.ts
Other components
- User
- Gemini API
- Supabase data and auth
Connections 31
- User → Sign in and signup: signs in
- User → Onboarding: provides profile
- Onboarding → Supabase client: upserts profile
- Supabase client → Supabase data and auth: auth and data
- User → Dashboard: opens workspace
- Dashboard → Project workspace: opens projects
- User → New project: starts project
- New project → AI project planner: requests plan
- AI project planner → Supabase server client: checks user
- AI project planner → Gemini API: generates plan
- Project workspace → Project details: opens project
- Project details → Editor entry: opens editor
- Editor entry → Visual editor: renders editor
- Visual editor → Editor panels: renders panels
- Visual editor → Theme settings: uses theme
- Visual editor → AI design editor: requests design edit
- AI design editor → Supabase server client: checks user
- AI design editor → Gemini API: tries generation
- AI design editor → Supabase data and auth: uses provider keys
- Visual editor → Project save: saves pages
- Project save → Supabase server client: checks user
- Project save → Supabase data and auth: updates project
- AI project save → Supabase server client: checks user
- AI project save → Supabase data and auth: updates project
- Generated project save → Supabase server client: checks user
- Generated project save → Supabase data and auth: updates project
- Site ZIP export → Supabase server client: checks user
- Site ZIP export → Supabase data and auth: reads project data
- User → Admin tools: administers
- Project map, checks, docs → User: advertises tools
- Supabase proxy → Supabase data and auth: forwards requests