Quarry is a free and open-source personal knowledge management (PKM) system. It's a next-generation note-taking and knowledge base tool that helps you capture, organize, and discover connections in your ideas.
- Knowledge Tree - Hierarchical organization with infinite nesting
- Markdown Editor - Rich text editing with live preview
- Knowledge Graph - Visualize connections between your notes
- Full-Text Search - Fast BM25 lexical search across all content
- Bookmarks & History - Track your reading journey
- Spiral Path Learning - Guided learning paths through your knowledge
- GitHub Integration - Sync with any GitHub repository
- 8 Beautiful Themes - Light, dark, sepia, terminal, and oceanic variants
- Offline-First - All data stored locally in your browser
- No Telemetry - Your data stays private
The following features require a premium license:
- Semantic Search (AI-powered embeddings)
- Flashcards with FSRS spaced repetition
- AI-generated Quizzes
- Q&A Generation
- Learning Studio
- Advanced Export/Import
# Clone the repository
git clone https://github.com/framersai/quarry.git
cd quarry
# Install dependencies
pnpm install
# Start development server
pnpm devOpen http://localhost:3000 in your browser.
# Development mode
pnpm electron:dev
# Build for macOS
pnpm electron:dist:mac
# Build unsigned for local testing
pnpm electron:dist:mac:unsignedCopy .env.example to .env.local and configure:
# GitHub token for higher API rate limits
NEXT_PUBLIC_GITHUB_TOKEN=ghp_xxxxx
# Default repository
NEXT_PUBLIC_GITHUB_OWNER=your-username
NEXT_PUBLIC_GITHUB_REPO=your-knowledge-base- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Animation: Framer Motion
- Editor: TipTap
- Storage: IndexedDB (sql.js + idb)
- Desktop: Electron
quarry/
├── app/ # Next.js app router pages
│ └── codex/ # Main Codex viewer routes
├── components/
│ ├── codex/ # Codex viewer components
│ └── ui/ # Shared UI primitives
├── lib/
│ ├── codex/ # Codex utilities
│ ├── config/ # Feature flags & configuration
│ ├── search/ # Search engine
│ └── storage/ # Data persistence
├── electron/ # Electron main process
└── public/ # Static assets
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Discord - Join our community
- GitHub Issues - Bug reports & feature requests
- Frame.dev - Project homepage
This project is licensed under the MIT License - see the LICENSE file for details.
Built with love by Johnny Dunn at Frame.dev