DocsIt is a completely free and open-source documentation platform that revolutionizes how you create, manage, and share knowledge. Built with modern web technologies and powered by AI, DocsIt provides all the tools you need to create beautiful, collaborative documentation without any cost or limitations.
DocsIt transforms the way teams create and manage documentation by providing:
- AI-Powered Content Generation: Let AI write, edit, and improve your documentation automatically
- Real-time Collaboration: Work together with your team in real-time, anywhere in the world
- Rich Text Editing: Beautiful, intuitive editor with support for blocks, embeds, and code
- Smart Organization: Hierarchical document structure with easy navigation and search
- Template Gallery: Pre-built templates for common documentation needs
- Version Control: Track changes and collaborate with confidence
- Cross-Platform Access: Works seamlessly on desktop and mobile devices
- โ 100% Free - No subscriptions, no premium tiers, no hidden costs
- โ Open Source - Full source code available, contribute and customize
- โ Self-Hostable - Deploy on your own infrastructure
- โ No Vendor Lock-in - Your data stays with you
- โ Community Driven - Built by developers, for developers
- Content Generation: Generate documentation from scratch using AI
- Smart Suggestions: Context-aware AI that learns from your writing style
- Auto-Complete: Intelligent suggestions as you type
- Content Enhancement: Improve existing content with AI assistance
- Block-Based Editor: Modern editor with support for various content blocks
- Code Highlighting: Syntax highlighting for 100+ programming languages
- Embeds & Media: Support for images, videos, code blocks, and more
- Math Equations: LaTeX support for mathematical expressions
- Tables & Lists: Rich formatting options for structured content
- Live Editing: See changes from team members in real-time
- Comments & Reviews: Collaborative feedback system
- User Presence: See who's online and editing
- Conflict Resolution: Smart merge capabilities for simultaneous edits
- Hierarchical Structure: Nested documents with parent-child relationships
- Full-Text Search: Find any content across all documents instantly
- Tags & Categories: Organize content with flexible tagging
- Navigation Trees: Easy-to-use sidebar navigation
- Secure Authentication: Email/password and OAuth support
- Access Controls: Fine-grained permissions for documents and folders
- Data Privacy: Your content stays private and secure
- Backup & Export: Easy data export and backup options
- Frontend: Next.js 13, React, TypeScript, Tailwind CSS
- Backend: Appwrite (Database, Authentication, Storage)
- AI Integration: Gemini AI for content generation
- Editor: BlockNote (Rich text editor)
- UI Components: Radix UI primitives with shadcn/ui
- Styling: Tailwind CSS with custom design system
- Icons: Lucide React
- State Management: Zustand
- Node.js 18+ and npm
- Appwrite account (cloud or self-hosted)
git clone https://github.com/your-username/docsit.git
cd docsitnpm installCreate a .env.local file in the root directory:
# Appwrite Configuration
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
NEXT_PUBLIC_APPWRITE_PROJECT_ID=your_project_id_here
NEXT_PUBLIC_APPWRITE_DATABASE_ID=notion-clone-db
NEXT_PUBLIC_APPWRITE_DOCUMENTS_COLLECTION_ID=documents
NEXT_PUBLIC_APPWRITE_STORAGE_BUCKET_ID=cover-images
# Gemini AI (Optional - for AI features)
GEMINI_API_KEY=your_gemini_api_key_here- Create Project: Go to Appwrite Cloud and create a new project
- Enable Authentication: Navigate to Auth โ Settings and enable Email/Password authentication
- Create Database: The required database schema will be created automatically
- Storage Bucket: Create a bucket named
cover-imageswith appropriate permissions
npm run devOpen http://localhost:3000 to see DocsIt in action!
docsit/
โโโ app/
โ โโโ (main)/ # Authenticated app routes
โ โ โโโ _components/ # Main app components
โ โ โโโ (routes)/ # Document management routes
โ โโโ (marketing)/ # Landing page and marketing
โ โโโ (public)/ # Public document preview
โ โโโ api/ # API routes and AI endpoints
โโโ components/
โ โโโ blocks/ # Document block components
โ โโโ modals/ # Modal dialogs
โ โโโ providers/ # Context providers
โ โโโ ui/ # Reusable UI components
โโโ lib/
โ โโโ appwrite*.ts # Appwrite service integrations
โ โโโ gemini-ai.ts # AI integration
โ โโโ templates/ # Document templates
โ โโโ utils.ts # Utility functions
โโโ public/ # Static assets
- API Documentation: Create and maintain comprehensive API docs
- Technical Guides: Write installation and setup guides
- Code Documentation: Document codebases with rich formatting
- Project Planning: Plan and track project milestones
- Product Requirements: Create detailed PRDs and specifications
- User Guides: Build customer-facing documentation
- Process Documentation: Document workflows and procedures
- Meeting Notes: Collaborative note-taking and action items
- Content Strategy: Plan and organize content calendars
- Style Guides: Maintain brand and writing guidelines
- Knowledge Base: Build searchable knowledge repositories
- Training Materials: Create onboarding and training docs
We welcome contributions from the community! DocsIt is open source and thrives on community involvement.
- ๐ Report Bugs: Help us identify and fix issues
- ๐ก Feature Requests: Suggest new features and improvements
- ๐ง Code Contributions: Submit pull requests with bug fixes or features
- ๐ Documentation: Improve our docs and guides
- ๐ Translations: Help translate DocsIt to other languages
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and commit:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
DocsIt is released under the MIT License. This means you can:
- โ Use it commercially
- โ Modify and distribute
- โ Private use
- โ Patent use
- GitHub Issues: Report bugs and request features
- Discussions: Join community discussions
- Documentation: Full documentation and guides
- Docker: Use our Docker configuration for easy deployment
- VPS: Deploy on any Linux server with Node.js
- Cloud Platforms: Deploy on AWS, Google Cloud, or Azure
- Real-time Collaboration Enhancements: Advanced conflict resolution
- API Documentation: REST API for integrations
- Plugin System: Extensible architecture for custom features
- Advanced AI Features: More AI-powered content tools
- Mobile Apps: Native iOS and Android applications
- Enterprise Features: SSO, advanced permissions, audit logs
DocsIt - Empowering everyone to create beautiful documentation, completely free and open source.
Made with โค๏ธ by the open source community.
-
Hierarchical document structure (parent-child relationships)
-
Soft delete (archive) with restore functionality# ================================================
-
Full CRUD operations with optimistic updates# Appwrite Storage Configuration (for file uploads)
-
Rich text editor with BlockNote# You need to create this bucket in Appwrite Console > Storage
-
Supports formatting, lists, headings, and more# Recommended name: "cover-images"
-
Auto-save functionalityNEXT_PUBLIC_APPWRITE_STORAGE_BUCKET_ID=cover-images
```
-
Global search across all documents### 4. Set up Appwrite Storage
-
Keyboard shortcut (Ctrl+K) for quick access
-
Real-time filteringCreate a storage bucket for file uploads:
- Go to your Appwrite Console
- Click Create Bucket
The app uses next-themes with Tailwind CSS. Modify tailwind.config.ts to customize colors and styles.5. Set appropriate permissions for file uploads
- Update your
.env.localwith the bucket ID
UI components are built with Radix UI and styled with Tailwind CSS. Find them in components/ui/.### 5. Set up Appwrite Database
๐ข DeploymentFollow the detailed instructions in APPWRITE_SETUP.md to:
- Create a database
-
Push your code to GitHub- Set up attributes and indexes
-
Connect your repository to Vercel- Configure permissions
-
Add environment variables in Vercel dashboard
-
Deploy automatically### 6. Run the development server
The app works on any platform that supports Next.js:npm run dev
-
Netlify```
-
Railway
-
DigitalOcean App PlatformOpen http://localhost:3000 in your browser.
-
etc.
```
-
Fork the repositorynotion-clone/
-
Create a feature branch (
git checkout -b feature/amazing-feature)โโโ app/ -
Commit your changes (
git commit -m 'Add amazing feature')โ โโโ (main)/ # Authenticated routes -
Push to the branch (
git push origin feature/amazing-feature)โ โ โโโ _components/ # Main app components -
Open a Pull Requestโ โ โโโ (routes)/ # Document routes
โ โโโ (marketing)/ # Landing page
โ โโโ layout.tsx # Root layout
This project is licensed under the MIT License. See the LICENSE file for details.โโโ components/
โ โโโ modals/ # Modal components
โ โโโ ui/ # UI components
-
Next.js - React frameworkโโโ lib/
-
Appwrite - Backend-as-a-Serviceโ โโโ appwrite.ts # Appwrite client
-
BlockNote - Rich text editorโ โโโ appwrite-documents.ts # Document CRUD operations
-
Tailwind CSS - CSS frameworkโ โโโ appwrite-storage.ts # File upload/storage helpers
-
Radix UI - UI primitivesโ โโโ utils.ts # Utilities
โโโ public/ # Static assets
If you encounter any issues:## ๐ Key Features Explained
-
Check that all environment variables are correctly set
-
Verify Appwrite project configuration### Authentication
-
Ensure proper permissions are set on database collections and storage buckets- Email/password authentication powered by Appwrite
-
Custom auth context (
useAuth) for managing user state
---- Protected routes with automatic redirects
Happy coding! ๐### Document Management
- Hierarchical document structure (parent-child relationships)
- Soft delete (archive) with restore functionality
- Full CRUD operations with optimistic updates
- Rich text editor with BlockNote
- Supports formatting, lists, headings, and more
- Auto-save functionality
- Global search across all documents
- Keyboard shortcut (Ctrl+K) for quick access
- Real-time filtering
The app uses next-themes with Tailwind CSS. Modify tailwind.config.ts to customize colors and styles.
UI components are built with Radix UI and styled with Tailwind CSS. Find them in components/ui/.
- Push your code to GitHub
- Import your repository in Vercel
- Add environment variables
- Deploy!
The app can be deployed to any platform that supports Next.js 13:
- Netlify
- Railway
- AWS Amplify
- Self-hosted with Docker
- Migration Guide - Details about the Convex to Appwrite migration
- Appwrite Setup - Step-by-step Appwrite configuration
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
- TypeScript errors during development are normal until the first build completes
- Make sure to set up Appwrite database before running the app
If you encounter any issues:
- Check the APPWRITE_SETUP.md guide
- Verify all environment variables are set correctly
- Ensure Appwrite database and collection are properly configured
- Collaborative editing
- Comments and mentions
- Document templates
- Export to PDF/Markdown
- Mobile app
- OAuth providers (Google, GitHub)

