Skip to main content

Monorepo Examples

RFC Status: This section contains proposed examples for the OpenDocs Specification RFC.These examples are provided to illustrate how the specification could be implemented. Provide feedback to help refine these examples.

Multi-Language Monorepo

This example demonstrates how to document a complex monorepo containing multiple programming languages and shared dependencies.

Project Structure

opendocs.json Configuration

Go API Project

Project Manifest

Sample Go DocItems

Rust Service Project

Project Manifest

Sample Rust DocItems

Key Features

  • Multi-Language Support: Documents TypeScript, Go, and Rust in a single documentation set
  • Shared Dependencies: Projects can reference shared type definitions
  • Organized Navigation: Groups projects by functional area (Frontend, Backend, Shared)
  • JSON $ref Format: Efficient external file references for larger projects
  • Version Tracking: Each project maintains independent versioning

Best Practices

  1. Use JSONL for Larger Projects: When a project has 100+ documented items, JSONL provides better streaming performance
  2. Group Logically: Organize navigation by functional areas rather than programming language
  3. Share Common Types: Create a shared types project that other projects can reference
  4. Version Independently: Each project should have its own version tracking

See Also


This example is part of the OpenDocs Specification RFC. Provide feedback to help improve it.