fix: improve note interactions and markdown LaTeX support
## Bug Fixes ### Note Card Actions - Fix broken size change functionality (missing state declaration) - Implement React 19 useOptimistic for instant UI feedback - Add startTransition for non-blocking updates - Ensure smooth animations without page refresh - All note actions now work: pin, archive, color, size, checklist ### Markdown LaTeX Rendering - Add remark-math and rehype-katex plugins - Support inline equations with dollar sign syntax - Support block equations with double dollar sign syntax - Import KaTeX CSS for proper styling - Equations now render correctly instead of showing raw LaTeX ## Technical Details - Replace undefined currentNote references with optimistic state - Add optimistic updates before server actions for instant feedback - Use router.refresh() in transitions for smart cache invalidation - Install remark-math, rehype-katex, and katex packages ## Testing - Build passes successfully with no TypeScript errors - Dev server hot-reloads changes correctly
This commit is contained in:
272
docs/index.md
Normal file
272
docs/index.md
Normal file
@@ -0,0 +1,272 @@
|
||||
# Memento - Project Documentation Index
|
||||
|
||||
## Project Overview
|
||||
|
||||
- **Type:** Multi-part with 2 parts
|
||||
- **Primary Language:** TypeScript (keep-notes), JavaScript (mcp-server)
|
||||
- **Architecture:** Full-stack JAMstack with Microservice Extension
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### keep-notes (Memento Web App)
|
||||
- **Type:** Web Application
|
||||
- **Tech Stack:** Next.js 16 + React 19 + TypeScript 5 + Prisma + SQLite
|
||||
- **Entry Point:** keep-notes/app/layout.tsx
|
||||
- **Architecture Pattern:** Full-stack JAMstack with App Router
|
||||
|
||||
### mcp-server (MCP Server)
|
||||
- **Type:** Backend API
|
||||
- **Tech Stack:** Express 4 + MCP SDK 1.0.4 + Prisma + SQLite (shared)
|
||||
- **Entry Point:** mcp-server/index.js
|
||||
- **Architecture Pattern:** Microservice API
|
||||
|
||||
---
|
||||
|
||||
## Generated Documentation
|
||||
|
||||
### Core Documentation
|
||||
- [Project Overview](./project-overview.md)
|
||||
- [Source Tree Analysis](./source-tree-analysis.md) _(To be generated)_
|
||||
- [Component Inventory](./component-inventory.md) _(To be generated)_
|
||||
|
||||
### API Documentation
|
||||
- [API Contracts - keep-notes](./api-contracts-keep-notes.md)
|
||||
- [API Contracts - mcp-server](./api-contracts-mcp-server.md)
|
||||
|
||||
### Data & Architecture
|
||||
- [Data Models](./data-models.md)
|
||||
- [Architecture - keep-notes](./architecture-keep-notes.md) _(To be generated)_
|
||||
- [Architecture - mcp-server](./architecture-mcp-server.md) _(To be generated)_
|
||||
- [Integration Architecture](./integration-architecture.md) _(To be generated)_
|
||||
|
||||
### Development Guides
|
||||
- [Development Guide - keep-notes](./development-guide-keep-notes.md) _(To be generated)_
|
||||
- [Deployment Guide](./deployment-guide.md) _(To be generated)_
|
||||
|
||||
---
|
||||
|
||||
## Existing Documentation
|
||||
|
||||
### Root Documentation
|
||||
- [README.md](../README.md) - Main project README
|
||||
- [CHANGELOG.md](../CHANGELOG.md) - Version history and changes
|
||||
- [COMPLETED-FEATURES.md](../COMPLETED-FEATURES.md) - Completed features list
|
||||
|
||||
### Technical Documentation
|
||||
- [MCP-GUIDE.md](../MCP-GUIDE.md) - MCP integration guide
|
||||
- [MCP-LIGHTWEIGHT-TEST.md](../MCP-LIGHTWEIGHT-TEST.md) - MCP testing notes
|
||||
- [MCP-SSE-ANALYSIS.md](../MCP-SSE-ANALYSIS.md) - Server-Sent Events implementation
|
||||
- [N8N-MCP-SETUP.md](../N8N-MCP-SETUP.md) - N8N workflow integration
|
||||
- [N8N-TECH-NEWS.md](../N8N-TECH-NEWS.md) - N8N technical news workflow
|
||||
|
||||
### Component Documentation
|
||||
- [keep-notes/README.md](../keep-notes/README.md) - Web app README
|
||||
- [mcp-server/README.md](../mcp-server/README.md) - MCP server README
|
||||
- [mcp-server/N8N-CONFIG.md](../mcp-server/N8N-CONFIG.md) - N8N configuration
|
||||
- [mcp-server/README-SSE.md](../mcp-server/README-SSE.md) - SSE variant documentation
|
||||
|
||||
---
|
||||
|
||||
## Planning Artifacts
|
||||
|
||||
### Product Planning
|
||||
- [PRD](../_bmad-output/planning-artifacts/prd.md) - Product Requirements Document
|
||||
- [PRD - Web App Requirements](../_bmad-output/planning-artifacts/prd-web-app-requirements.md)
|
||||
- [PRD - Executive Summary](../_bmad-output/planning-artifacts/prd-executive-summary.md)
|
||||
- [PRD - Auth/Admin](../_bmad-output/planning-artifacts/prd-auth-admin.md)
|
||||
|
||||
### Development Planning
|
||||
- [Epics](../_bmad-output/planning-artifacts/epics.md) - Epic definitions
|
||||
- [Implementation Readiness Report](../_bmad-output/planning-artifacts/implementation-readiness-report-2026-01-09.md)
|
||||
|
||||
### Implementation Artifacts
|
||||
- [Stories](../_bmad-output/implementation-artifacts/) - User stories and implementation details
|
||||
- Infrastructure setup stories
|
||||
- AI abstraction stories
|
||||
- Search and tagging features
|
||||
- Vector indexing and semantic search
|
||||
- Model configuration interface
|
||||
|
||||
---
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
- Node.js 20+
|
||||
- npm or yarn
|
||||
- SQLite3 (included)
|
||||
|
||||
### Installation
|
||||
|
||||
**Web Application:**
|
||||
```bash
|
||||
cd keep-notes
|
||||
npm install
|
||||
npm run db:generate
|
||||
npm run dev
|
||||
# Access at http://localhost:3000
|
||||
```
|
||||
|
||||
**MCP Server:**
|
||||
```bash
|
||||
cd mcp-server
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
### Development Commands
|
||||
|
||||
**Web App:**
|
||||
- `npm run dev` - Start development server
|
||||
- `npm run build` - Build for production
|
||||
- `npm start` - Start production server
|
||||
- `npm test` - Run E2E tests
|
||||
- `npm run test:ui` - Run tests with UI
|
||||
- `npm run db:generate` - Regenerate Prisma client
|
||||
|
||||
**MCP Server:**
|
||||
- `npm start` - Start MCP server (stdio)
|
||||
- `npm run start:sse` - Start SSE variant
|
||||
|
||||
---
|
||||
|
||||
## Architecture Summary
|
||||
|
||||
### Multi-Part Project Structure
|
||||
|
||||
**Parts:**
|
||||
1. **keep-notes/** - Next.js web application (main user interface)
|
||||
2. **mcp-server/** - Express-based MCP server (N8N integration)
|
||||
|
||||
**Integration:**
|
||||
- Shared SQLite database (`keep-notes/prisma/dev.db`)
|
||||
- Database-mediated communication
|
||||
- Independent deployment capability
|
||||
|
||||
### Technology Stack
|
||||
|
||||
**Frontend:**
|
||||
- Next.js 16.1.1 (App Router)
|
||||
- React 19.2.3
|
||||
- TypeScript 5
|
||||
- Tailwind CSS 4
|
||||
- Radix UI
|
||||
|
||||
**Backend:**
|
||||
- Next.js API Routes (keep-notes)
|
||||
- Express 4.22.1 (mcp-server)
|
||||
- Prisma 5.22.0 (ORM)
|
||||
- SQLite (database)
|
||||
|
||||
**Integration:**
|
||||
- MCP SDK 1.0.4
|
||||
- NextAuth.js 5.0.0-beta.30
|
||||
- Vercel AI SDK 6.0.23
|
||||
|
||||
---
|
||||
|
||||
## Key Features
|
||||
|
||||
### User Features
|
||||
- Rich text notes with markdown support
|
||||
- Checklist notes
|
||||
- Color-coded notes
|
||||
- Labeling/tagging system
|
||||
- Pinning and archiving
|
||||
- Image attachments
|
||||
- Reminders with recurrence
|
||||
- Drag-and-drop grid layout
|
||||
- Semantic search (AI-powered)
|
||||
- Auto-tagging (AI-powered)
|
||||
- User authentication
|
||||
- Admin panel
|
||||
|
||||
### Technical Features
|
||||
- Progressive Web App (PWA)
|
||||
- Responsive design
|
||||
- E2E testing (Playwright)
|
||||
- MCP integration
|
||||
- Multiple AI providers (OpenAI, Ollama)
|
||||
- Email notifications
|
||||
|
||||
---
|
||||
|
||||
## Current Status
|
||||
|
||||
**Development Stage:** Active Development
|
||||
**Branch:** `bmad-features`
|
||||
**Version:** 0.2.0
|
||||
|
||||
**Completed:**
|
||||
- ✅ 6 user stories implemented
|
||||
- ✅ PRD and Epics defined
|
||||
- ✅ Sprint tracking active
|
||||
- ✅ Core features functional
|
||||
|
||||
**In Progress:**
|
||||
- 🔄 Docker setup
|
||||
- 🔄 Documentation completion
|
||||
- 🔄 Code review and cleanup
|
||||
- 🔄 Monetization planning
|
||||
|
||||
---
|
||||
|
||||
## Documentation for AI Agents
|
||||
|
||||
When working with this codebase, AI agents should reference:
|
||||
|
||||
1. **Project Context:** Read [project-overview.md](./project-overview.md) first
|
||||
2. **API Contracts:** Reference [api-contracts-keep-notes.md](./api-contracts-keep-notes.md) and [api-contracts-mcp-server.md](./api-contracts-mcp-server.md)
|
||||
3. **Data Models:** Understand schema from [data-models.md](./data-models.md)
|
||||
4. **PRD:** Review [prd.md](../_bmad-output/planning-artifacts/prd.md) for product context
|
||||
5. **Epics:** Check [epics.md](../_bmad-output/planning-artifacts/epics.md) for planned features
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
**Immediate:**
|
||||
1. Complete Docker setup
|
||||
2. Finish documentation
|
||||
3. Code review
|
||||
4. Test cleanup
|
||||
|
||||
**Short-term:**
|
||||
1. Implement monitization ("Pay me a coffee")
|
||||
2. Business model analysis
|
||||
3. GitHub release preparation
|
||||
|
||||
**Long-term:**
|
||||
1. Feature enhancements
|
||||
2. Community building
|
||||
3. Integration marketplace
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
**Current Status:** Pre-release, not accepting external contributions yet
|
||||
|
||||
**Future:** After GitHub release, contribution guidelines will be added
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
**Status:** To be determined (MIT/Apache/etc.)
|
||||
**Business Model:** Open source with optional paid features
|
||||
|
||||
---
|
||||
|
||||
## Contact & Support
|
||||
|
||||
**Issues:** GitHub Issues (once published)
|
||||
**Documentation:** This index and linked files
|
||||
**Technical Guides:** Root-level markdown files
|
||||
|
||||
---
|
||||
|
||||
*Last Updated: 2026-01-09*
|
||||
*Documentation Generated by: BMAD Document Project Workflow*
|
||||
Reference in New Issue
Block a user