- Add mobile navigation drawer with hamburger menu
- Sidebar slides in as overlay on mobile (<768px)
- Close button inside sidebar for mobile
- Ensure touch targets are at least 44px on mobile
- Make modals full-screen on mobile
- Editor toolbar scrolls horizontally on mobile
- Improve spacing and typography for small screens
- Keep dark theme consistent across breakpoints
- Projects page cards stack vertically on mobile
- Document cards full-width on mobile
- Add projectService.js with full CRUD + tree operations
- Add folderService.js with hierarchical folder support
- Add projects.js routes: GET/POST/PUT/DELETE /projects, /projects/:id/tree, /projects/:id/documents
- Add folders.js routes: GET/POST/PUT/DELETE /folders, /folders/:id/tree, /folders/:id/documents
- Update documentService.js to support projectId/folderId with backwards compat (libraryId)
- Update routes/index.js to mount new routers
- Maintain backwards compatibility with legacy libraryId
- All endpoints tested and working
- Add type=button to Cancel/Save buttons in editor to prevent form submission
- Add href=# and return false to quick-links to prevent default anchor behavior
- StopPropagation was already present in sidebar handlers (verified)
- Document view buttons already had type=button (verified)
These fixes ensure:
- Library/tag clicks don't bubble up and trigger wrong handlers
- Quick-link buttons don't cause unexpected navigation
- Editor buttons don't accidentally submit forms
- Replace direct 'New Document' with modal wizard that asks for library first
- Separate 'New Document' (📄) and 'New Library' (📁) buttons in header
- Update sidebar quick links to show both options with clear icons
- Add modal for library creation with name input
- Add CSS for form-control and modal-close button styling
- Minor improvements to document.js (type=button, event.stopPropagation)
- Keyboard shortcut Ctrl+N now opens document creation modal
- Vanilla JS frontend with dark theme
- Dashboard with sidebar (libraries tree, tags), document grid, search
- Document viewer with markdown rendering and metadata panel
- Document editor with split write/preview and formatting toolbar
- Login screen with token authentication
- All styled according to UI/UX specs (dark theme, accent #00d4aa)
- API client for all endpoints
- Responsive design
- SPEC.md: Complete UI/UX specification with design principles,
layout architecture, interaction patterns, data flow, and
accessibility requirements
- VIEWS.md: Text-based wireframes for Dashboard, Document Viewer,
Document Editor, and Library Browser views (desktop and mobile)
- COMPONENTS.md: Reusable component library with buttons, inputs,
cards, tags, navigation, modals, and feedback components
- STYLES.md: Style guide with design tokens (colors, typography,
spacing), global styles, animations, responsive breakpoints,
and dark mode implementation
Design follows dark mode first approach inspired by Mission
Control dashboard, with full mobile responsiveness.
- Create missing src/services/libraryService.js (was imported but never created)
- Fix readJSONFile import in tagIndexer.js (unused import)
- Fix found.found?.libId typo in deleteDocument (double .found lookup)
These were blocking the application from starting.
- Express server with CORS, JSON middleware
- Auth middleware (Bearer token)
- Document CRUD with markdown storage
- Library CRUD with nested support
- Tag indexing and search
- Error handler middleware
- Config from env vars
- Init script for data structure