Keep/docs/index.md
sepehr 640fcb26f7 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
2026-01-09 22:13:49 +01:00

273 lines
7.0 KiB
Markdown

# 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*