Files
lfnovo--open-notebook/docs/7-DEVELOPMENT/index.md
T
2026-07-13 12:10:23 +08:00

5.2 KiB

Development

Welcome to the Open Notebook development documentation! Whether you're contributing code, understanding our architecture, or maintaining the project, you'll find guidance here.

🎯 Pick Your Path

👨‍💻 I Want to Contribute Code

Start with Contributing Guide for the workflow, then check:

First time? Check out our Contributing Guide for the issue-first workflow.

🔒 I Want to Understand Security Practices

Security Guidelines covers:

  • Database query safety (preventing SurrealQL injection)
  • Template rendering safety (preventing SSTI)
  • File handling safety (preventing path traversal and LFI)
  • Secrets management and CORS configuration
  • Code review security checklist

🏗️ I Want to Understand the Architecture

Architecture Overview covers:

  • 3-tier system design
  • Tech stack and rationale
  • Key components and workflows
  • Design patterns we use

For deeper dives into specific subsystems:

  • Credentials - Provider credential storage, encryption, provisioning
  • Content Processing - Chunking, embedding, context building, encryption
  • Podcasts - Profile system, model registry, job lifecycle
  • Prompts - Prompt engineering patterns
  • Frontend - Next.js layers and data flows

Normative rules for coding agents (and humans in a hurry) live in the AGENTS.md files at the repo root, open_notebook/, and frontend/.

🧭 Why Is It Like This?

  • VISION.md - Product identity and current posture
  • Decision Records - ADRs and PDRs: the durable "why" behind structural choices

👨‍🔧 I'm a Maintainer

Maintainer Guide covers:

  • Issue triage and management
  • Pull request review process
  • Communication templates
  • Best practices

Document For Purpose
Quick Start New developers Clone, install, and verify setup (5 min)
Development Setup Local development Complete environment setup guide
Contributing Code contributors Workflow: issue → code → PR
Code Standards Writing code Style guides for Python, FastAPI, DB
Testing Testing code How to write and run tests
Architecture Understanding system System design, tech stack, workflows
Credentials Understanding system Provider credential subsystem
Content Processing Understanding system Chunking, embedding, context building
Podcasts Understanding system Podcast profiles and job lifecycle
Prompts Understanding system Prompt engineering patterns
Frontend Understanding system Next.js architecture and data flows
Design Principles All developers Engineering practices and anti-patterns
VISION.md All developers Product identity and current posture
Decision Records All developers ADRs/PDRs — why things are the way they are
Change Playbooks Contributors & agents Step-by-step recipes for common changes
API Reference Building integrations Complete REST API documentation
Security All developers Security practices and vulnerability prevention
Maintainer Guide Maintainers Managing issues, PRs, labels

🚀 Current Development Priorities

We're actively looking for help with:

  1. Frontend Enhancement - Improve Next.js/React UI with real-time updates
  2. Performance - Async processing and caching optimizations
  3. Testing - Expand test coverage across components
  4. Documentation - API examples and developer guides
  5. Integrations - New content sources and AI providers

See GitHub Issues labeled good first issue or help wanted.


💬 Getting Help

  • Discord: Join our server for real-time discussions
  • GitHub Discussions: For architecture questions
  • GitHub Issues: For bugs and features

Don't be shy! We're here to help new contributors succeed.


📖 Additional Resources

External Documentation

Our Libraries


Ready to get started? Head over to Quick Start! 🎉