Monorepo 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
- Use JSONL for Larger Projects: When a project has 100+ documented items, JSONL provides better streaming performance
- Group Logically: Organize navigation by functional areas rather than programming language
- Share Common Types: Create a shared types project that other projects can reference
- Version Independently: Each project should have its own version tracking
See Also
- Simple Project Examples - Basic single-language examples
- Microservices Examples - Service-oriented architectures
- Examples Overview - Back to all examples
This example is part of the OpenDocs Specification RFC. Provide feedback to help improve it.

