A powerful collaborative knowledge management platform with rich text editing, AI-powered features, and extensive plugin ecosystem. Built with modern web technologies and real-time collaboration capabilities.
- Rich Text Editor - Powered by Tiptap with collaborative editing support
- Real-time Collaboration - Multi-user editing with Hocuspocus backend
- Plugin Architecture - Extensible plugin system for custom functionality
- AI Integration - AI-powered text generation, image creation, and content transformation
- Multi-dimensional Tables - Spreadsheet-like tables with multiple view types (Table, Kanban, Gallery)
- Visual Diagramming - Support for Excalidraw, DrawIO, Mermaid, and mind maps
- File Management - Built-in file manager for document organization
- Block References - Cross-document block linking and embedding
- Internationalization - Full i18n support for multiple languages
- Bitable - Multi-dimensional tables with views (Table, Kanban, Gallery, Gantt)
- Database - Database integration and management
- File Manager - Document and file organization system
- Block Reference - Cross-reference blocks across documents
- AI Plugin - Text generation, image creation, content transformation, and chat interface
- Weaver OA - Enterprise workflow integration
- Excalidraw - Hand-drawn style diagrams
- DrawIO - Professional diagramming tool
- DrawIO v2 - Enhanced DrawIO integration
- Drawnix - Alternative drawing solution
- Mermaid - Text-based diagram generation
- Mindmap Canvas - Interactive mind mapping
- Main Plugin - Core application features and navigation
- Editor - Enhanced text editing capabilities
- UI Components - Shared shadcn/ui component library
- React 18 - Modern React with hooks and concurrent features
- TypeScript 5 - Type-safe development
- Vite - Fast build tool and dev server
- Next.js - React framework for landing pages
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - High-quality React components
- Tiptap - Headless editor framework
- Hocuspocus - Real-time collaboration backend
- Turborepo - High-performance monorepo build system
- pnpm - Fast, disk space efficient package manager
- Rollup - Module bundler for libraries
- Docker - Containerization for deployment
- DeepSeek AI - AI text generation
- Vercel AI SDK - Streaming AI responses
- Image Generation - AI-powered image creation
knowledge-repo/
βββ apps/
β βββ vite/ # Main Vite application
β βββ landing-page/ # Next.js landing page
β βββ landing-page-vite/ # Vite-based landing page
βββ packages/
β βββ core/ # Core application logic
β βββ editor/ # Tiptap editor integration
β βββ common/ # Shared utilities and types
β βββ ui/ # shadcn/ui components
β βββ icon/ # Icon library
β βββ plugin-main/ # Main plugin features
β βββ plugin-ai/ # AI capabilities
β βββ plugin-bitable/ # Multi-dimensional tables
β βββ plugin-file-manager/ # File management
β βββ plugin-block-reference/ # Block linking
β βββ plugin-database/ # Database integration
β βββ plugin-excalidraw/ # Excalidraw diagrams
β βββ plugin-drawio/ # DrawIO diagrams
β βββ plugin-drawio-v2/ # DrawIO v2
β βββ plugin-drawnix/ # Drawnix drawing
β βββ plugin-mermaid/ # Mermaid diagrams
β βββ plugin-mindmap-canvas/ # Mind mapping
β βββ plugin-weaver-oa/ # Weaver OA integration
β βββ eslint-config/ # Shared ESLint config
β βββ typescript-config/ # Shared TypeScript config
β βββ rollup-config/ # Shared Rollup config
βββ ...
Make sure you have the following installed:
- Node.js (version 18 or higher) - Download
- pnpm (version 9 or higher) - Installation Guide
-
Clone the repository:
git clone https://github.com/yourusername/knowledge-repo.git cd knowledge-repo -
Install dependencies:
pnpm install
-
Build all packages:
pnpm build
-
Start development:
pnpm dev
-
Start collaboration server (optional):
pnpm room-server
# Build all packages
pnpm build
# Build specific packages
pnpm build:core # Core package
pnpm build:editor # Editor package
pnpm build:ui # UI components
pnpm build:ai # AI plugin
pnpm build:bitable # Bitable plugin
pnpm build:file-manager # File manager plugin
pnpm build:app # Main application
pnpm build:landing # Landing page# Start all apps in dev mode
pnpm dev
# Start collaboration server
pnpm room-server
# Lint all packages
pnpm lint
# Format code
pnpm formatAdd new shadcn/ui components to the shared library:
# Example: Add a new component (card, button, tabs, etc.)
pnpm ui:add card
pnpm ui:add button
pnpm ui:add tabs# Clean all built packages
pnpm clean:packages
# Clean all node_modules
pnpm clean:libBuild Docker images for production:
# Build main application
pnpm build:appDocker
# Build landing page
pnpm build:landingDocker-
Create a new package in
packages/:mkdir packages/plugin-yourplugin cd packages/plugin-yourplugin -
Set up package structure:
plugin-yourplugin/ βββ src/ β βββ index.tsx # Plugin entry β βββ components/ # Plugin components βββ package.json βββ tsconfig.json βββ rollup.config.mjs βββ README.md -
Define your plugin:
import { Plugin } from '@kn/core'; export const yourPlugin: Plugin = { name: 'yourplugin', extensions: [ // Your Tiptap extensions ], components: [ // Your React components ] };
-
Register in the application:
import { yourPlugin } from '@kn/plugin-yourplugin'; import { App } from '@kn/core'; <App plugins={[yourPlugin]} />
- Use TypeScript for type safety
- Implement i18n for multi-language support
- Follow the existing plugin structure
- Add comprehensive README documentation
- Use shared UI components from
@kn/ui - Implement proper error handling
- Add unit tests for complex logic
Create a .env.local file for local development:
# AI Configuration
VITE_AI_IMAGE_API_KEY=your_api_key_here
# Other configurations...For detailed plugin documentation, see:
- Bitable Plugin - Multi-dimensional tables
- AI Plugin - AI-powered features
- File Manager - File management
- Block Reference - Block linking
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
- Follow the existing code style
MIT License - feel free to use this project for personal or commercial purposes.
- Rich text editor with Tiptap
- Real-time collaboration
- AI text and image generation
- Multi-dimensional tables (Table, Kanban, Gallery views)
- Multiple diagramming tools
- File management system
- Block reference system
- Internationalization
- Gantt chart view for Bitable
- Calendar view for Bitable
- Timeline view for Bitable
- Advanced filtering and sorting
- Form view for data collection
- Mobile responsive optimization
- Offline mode support
- Advanced permissions system
- Template marketplace
- API documentation
- Plugin marketplace
- Desktop application (Electron)
- Mobile applications (React Native)
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check existing documentation
- Review plugin-specific README files
- Built with Turborepo
- UI components from shadcn/ui
- Editor powered by Tiptap
- Inspired by modern knowledge management tools
Made with β€οΈ by the Knowledge Repo team