Skip to content

The notetaking app that organizes itself and answers your questions.

License

Notifications You must be signed in to change notification settings

framersai/quarry

Repository files navigation

Quarry

Notes That Organize Themselves

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.

License: MIT Built with Next.js TypeScript

Features

Core Features (Community Edition)

  • 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

Premium Features

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

Quick Start

Web (Development)

# Clone the repository
git clone https://github.com/framersai/quarry.git
cd quarry

# Install dependencies
pnpm install

# Start development server
pnpm dev

Open http://localhost:3000 in your browser.

Desktop App (Electron)

# Development mode
pnpm electron:dev

# Build for macOS
pnpm electron:dist:mac

# Build unsigned for local testing
pnpm electron:dist:mac:unsigned

Configuration

Copy .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

Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Animation: Framer Motion
  • Editor: TipTap
  • Storage: IndexedDB (sql.js + idb)
  • Desktop: Electron

Project Structure

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

Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Community

License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with love by Johnny Dunn at Frame.dev

About

The notetaking app that organizes itself and answers your questions.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages