Skip to main content

Monorepo pattern with symlinked meta repositories for clean documentation management

Project description

HyperRepo

Monorepo pattern with symlinked meta repositories for clean documentation management.

Overview

HyperRepo solves the nested-git problem in monorepos by providing clean separation between code projects and meta-layer documentation through symlinked repositories. This allows you to maintain version control for documentation, context files, and shared resources without the complexity of git submodules or subtrees.

Features

  • Clean Separation: Code projects remain independent while sharing documentation
  • Version Control: Full git history for both code and meta documentation
  • Zero Ceremony: Simple YAML configuration with automatic symlink management
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Template System: Pre-built templates for common patterns

Installation

pip install hyperepo

Quick Start

  1. Initialize a new hyperepo:

    hyperepo init myproject
    
  2. Check symlink integrity:

    hyperepo check
    
  3. View repository status:

    hyperepo status
    
  4. Create configured symlinks:

    hyperepo create-links
    

Configuration

HyperRepo uses a simple hyperepo.yml configuration file:

version: "1.0"
meta_repo: "../myproject-meta"
symlinks:
  - target: "context"
    source: "context"
  - target: "prompts"
    source: "prompts"
  - target: "specs"
    source: "specifications"

Directory Structure

myproject/
├── hyperepo.yml                    # Configuration
├── subproject-a/                   # Git submodule
├── subproject-b/                   # Git submodule  
├── context → ../myproject-meta/context        # Symlinked directories
├── prompts → ../myproject-meta/prompts
└── specs → ../myproject-meta/specifications

myproject-meta/                     # Separate git repository
├── context/
├── prompts/
└── specifications/

CLI Commands

  • hyperepo init <name> - Initialize new hyperepo structure
  • hyperepo check - Validate symlink integrity
  • hyperepo status - Show repository structure status
  • hyperepo create-links - Create all configured symlinks

Python API

from hyperepo import HyperRepo

# Initialize
repo = HyperRepo()
repo.init("../project-meta")

# Validate
issues = repo.validate_symlinks()
if not issues:
    print("All symlinks valid!")

# Create symlinks
repo.create_symlinks()

Templates

HyperRepo includes built-in templates for common patterns:

  • standard: Basic template with context, prompts, and specifications
  • ai-dev: AI development template optimized for AI-assisted workflows

License

MIT License - see LICENSE file for details.

Contributing

Issues and pull requests welcome at https://github.com/tysonzero/hyperepo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyperepo-0.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hyperepo-0.0.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file hyperepo-0.0.1.tar.gz.

File metadata

  • Download URL: hyperepo-0.0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.10 Darwin/24.5.0

File hashes

Hashes for hyperepo-0.0.1.tar.gz
Algorithm Hash digest
SHA256 71756491272402db46add34b3dab3847d6b65f2d3f5e9dabc1d71d35bdf3939a
MD5 ff4ec47248c21ec3537d55d2398bf16e
BLAKE2b-256 c7ccc3297c7235e7d52ea660b8b22f49255e941b8b9750f1c862a3f05e29cca4

See more details on using hashes here.

File details

Details for the file hyperepo-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: hyperepo-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.10 Darwin/24.5.0

File hashes

Hashes for hyperepo-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4c9d4983506642c1e5e6afbaaa96492aa382ad2de5d63bb9574e49fcf28e2b9f
MD5 dca3a4121ac4f0e43cc6aca389812800
BLAKE2b-256 2bd60044ed321d0bbedc5b0e32e3d0b37334cc86b92acf2e298b48504bd4d7bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page