Developers Handbook
Welcome to the Open Library Handbook! This guide provides developers with the information needed to get started, understand the codebase, contribute effectively, and participate in the community.
TIP
New to Open Library? Start with Step 1 of the Getting Started flow.
Canonical Guides
Use these as the source of truth for contributor workflows:
- Setup and first contribution: Quick Start
- Git and PR workflow: Git Workflow
- Linting and CI checks: Pre-Commit Guide
- Running tests: Testing Guide
Development Tools
Guides for the tools we use to build Open Library:
- Development Tools Overview - IDE setup, local dev configuration, and links to tool-specific guides
Getting Started
New to Open Library development? Follow this order:
- Quick Start - environment setup and first PR
- Git Workflow
- Testing Guide
- Pre-Commit Guide
- Find a Good First Issue on GitHub
Understanding the Codebase
Learn how the Open Library application is structured:
- Trace the step-by-step Lifecycle of a Network Request
- Add a new Endpoint (Plugin Tutorial)
- Understand Infogami
- Review the Tech Stack
Contributing to the Front-end
Guidance for working on the user interface:
- HTML Templates:
- CSS & JavaScript:
- Design Resources:
Contributing to the Back-end
Information for server-side development:
- Data & Search:
- APIs & Architecture:
Managing Your Developer Environment
Tips for local development:
- Import production data into your local environment
- Login as admin in your local environment
- Create new users locally
Common Coding Recipes & Techniques
Quick references for frequent tasks:
Participating in the Community
Get involved with other contributors:
- Request a Slack Invite
- Attend Weekly Community Calls (Tues @ 9:00 AM PT)
- Volunteer for a Fellowship
- Apply for Google Summer of Code (GSoC)
Specific Feature Developer Guides
Video walkthroughs and documents for key areas:
- BookWorm / Affiliate Server Guide
- Developing the My Books & Reading Log (Video)
- Developing the Books Page (Video)
- Understanding the "Read" Button Logic (Video)
Project & Team Resources
High-level project management and related team portals: