## 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
273 lines
7.0 KiB
Markdown
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*
|