feat: Phase 1 foundation - schema, auth, realtime, shell

- Rewrote Drizzle schema: 20 tables with enums, relations, indexes
- Generated migration with DROP TABLE records (v1 EAV removal)
- Added passkey auth routes (register/login)
- Added requireWorkspaceAccess helper
- Added seedDefaultData for Personal workspace + welcome note
- Updated SSE endpoint for v2 entities + workspace_id filtering
- Created recordActivity helper (insert + pg_notify)
- Updated sidebar: Graph replaces Reports, removed Analytics
- Updated command palette for v2 entities
- Created AGENTS.md with locked contract
- Created llm-wiki scaffold (5 stubs)
- Added inline AGENT INSTRUCTION comments to all 50 API route files
- Fixed globals.css border-border class conflict
- Updated database.ts stub for v1 compatibility
This commit is contained in:
2026-07-29 05:53:13 -04:00
parent c5e996326c
commit b3ff23a5f0
73 changed files with 3884 additions and 178 deletions
+2 -5
View File
@@ -8,9 +8,8 @@ import {
Flame,
FolderKanban,
NotebookPen,
FileBarChart,
Share2,
CalendarDays,
BarChart3,
Bot,
Settings,
Plus,
@@ -39,9 +38,8 @@ const navItems: NavItem[] = [
{ label: 'Habits', href: '/habits', icon: Flame },
{ label: 'Projects', href: '/projects', icon: FolderKanban },
{ label: 'Notes', href: '/notes', icon: NotebookPen },
{ label: 'Reports', href: '/reports', icon: FileBarChart },
{ label: 'Graph', href: '/graph', icon: Share2 },
{ label: 'Calendar', href: '/calendar', icon: CalendarDays },
{ label: 'Analytics', href: '/analytics', icon: BarChart3 },
{ label: 'Agent Activity', href: '/agents', icon: Bot },
{ label: 'Settings', href: '/settings', icon: Settings },
];
@@ -86,7 +84,6 @@ export function CommandPalette() {
{ label: 'New habit', action: () => router.push('/habits?new=true') },
{ label: 'New project', action: () => router.push('/projects?new=true') },
{ label: 'New note', action: () => router.push('/notes?new=true') },
{ label: 'New report', action: () => router.push('/reports?new=true') },
];
// Search handler
+2 -4
View File
@@ -10,9 +10,8 @@ import {
Flame,
FolderKanban,
NotebookPen,
FileBarChart,
Share2,
CalendarDays,
BarChart3,
Bot,
Settings,
ChevronLeft,
@@ -41,9 +40,8 @@ const navItems = [
{ href: '/habits', label: 'Habits', icon: Flame },
{ href: '/projects', label: 'Projects', icon: FolderKanban },
{ href: '/notes', label: 'Notes', icon: NotebookPen },
{ href: '/reports', label: 'Reports', icon: FileBarChart },
{ href: '/graph', label: 'Graph', icon: Share2 },
{ href: '/calendar', label: 'Calendar', icon: CalendarDays },
{ href: '/analytics', label: 'Analytics', icon: BarChart3 },
];
const workspaceItems = [