hyperepo


Namehyperepo JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/tysonzero/hyperepo
SummaryMonorepo pattern with symlinked meta repositories for clean documentation management
upload_time2025-07-31 01:53:25
maintainerNone
docs_urlNone
authorTyson
requires_python<4.0,>=3.8
licenseMIT
keywords monorepo git documentation development workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```bash
pip install hyperepo
```

## Quick Start

1. **Initialize a new hyperepo:**
   ```bash
   hyperepo init myproject
   ```

2. **Check symlink integrity:**
   ```bash
   hyperepo check
   ```

3. **View repository status:**
   ```bash
   hyperepo status
   ```

4. **Create configured symlinks:**
   ```bash
   hyperepo create-links
   ```

## Configuration

HyperRepo uses a simple `hyperepo.yml` configuration file:

```yaml
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

```python
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
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tysonzero/hyperepo",
    "name": "hyperepo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "monorepo, git, documentation, development, workflow",
    "author": "Tyson",
    "author_email": "tyson@example.com",
    "download_url": "https://files.pythonhosted.org/packages/c7/cc/c3297c7235e7d52ea660b8b22f49255e941b8b9750f1c862a3f05e29cca4/hyperepo-0.0.1.tar.gz",
    "platform": null,
    "description": "# HyperRepo\n\nMonorepo pattern with symlinked meta repositories for clean documentation management.\n\n## Overview\n\nHyperRepo 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.\n\n## Features\n\n- **Clean Separation**: Code projects remain independent while sharing documentation\n- **Version Control**: Full git history for both code and meta documentation  \n- **Zero Ceremony**: Simple YAML configuration with automatic symlink management\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n- **Template System**: Pre-built templates for common patterns\n\n## Installation\n\n```bash\npip install hyperepo\n```\n\n## Quick Start\n\n1. **Initialize a new hyperepo:**\n   ```bash\n   hyperepo init myproject\n   ```\n\n2. **Check symlink integrity:**\n   ```bash\n   hyperepo check\n   ```\n\n3. **View repository status:**\n   ```bash\n   hyperepo status\n   ```\n\n4. **Create configured symlinks:**\n   ```bash\n   hyperepo create-links\n   ```\n\n## Configuration\n\nHyperRepo uses a simple `hyperepo.yml` configuration file:\n\n```yaml\nversion: \"1.0\"\nmeta_repo: \"../myproject-meta\"\nsymlinks:\n  - target: \"context\"\n    source: \"context\"\n  - target: \"prompts\"\n    source: \"prompts\"\n  - target: \"specs\"\n    source: \"specifications\"\n```\n\n## Directory Structure\n\n```\nmyproject/\n\u251c\u2500\u2500 hyperepo.yml                    # Configuration\n\u251c\u2500\u2500 subproject-a/                   # Git submodule\n\u251c\u2500\u2500 subproject-b/                   # Git submodule  \n\u251c\u2500\u2500 context \u2192 ../myproject-meta/context        # Symlinked directories\n\u251c\u2500\u2500 prompts \u2192 ../myproject-meta/prompts\n\u2514\u2500\u2500 specs \u2192 ../myproject-meta/specifications\n\nmyproject-meta/                     # Separate git repository\n\u251c\u2500\u2500 context/\n\u251c\u2500\u2500 prompts/\n\u2514\u2500\u2500 specifications/\n```\n\n## CLI Commands\n\n- `hyperepo init <name>` - Initialize new hyperepo structure\n- `hyperepo check` - Validate symlink integrity\n- `hyperepo status` - Show repository structure status  \n- `hyperepo create-links` - Create all configured symlinks\n\n## Python API\n\n```python\nfrom hyperepo import HyperRepo\n\n# Initialize\nrepo = HyperRepo()\nrepo.init(\"../project-meta\")\n\n# Validate\nissues = repo.validate_symlinks()\nif not issues:\n    print(\"All symlinks valid!\")\n\n# Create symlinks\nrepo.create_symlinks()\n```\n\n## Templates\n\nHyperRepo includes built-in templates for common patterns:\n\n- **standard**: Basic template with context, prompts, and specifications\n- **ai-dev**: AI development template optimized for AI-assisted workflows\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Contributing\n\nIssues and pull requests welcome at https://github.com/tysonzero/hyperepo",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Monorepo pattern with symlinked meta repositories for clean documentation management",
    "version": "0.0.1",
    "project_urls": {
        "Documentation": "https://github.com/tysonzero/hyperepo",
        "Homepage": "https://github.com/tysonzero/hyperepo",
        "Repository": "https://github.com/tysonzero/hyperepo"
    },
    "split_keywords": [
        "monorepo",
        " git",
        " documentation",
        " development",
        " workflow"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2bd60044ed321d0bbedc5b0e32e3d0b37334cc86b92acf2e298b48504bd4d7bf",
                "md5": "dca3a4121ac4f0e43cc6aca389812800",
                "sha256": "4c9d4983506642c1e5e6afbaaa96492aa382ad2de5d63bb9574e49fcf28e2b9f"
            },
            "downloads": -1,
            "filename": "hyperepo-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dca3a4121ac4f0e43cc6aca389812800",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 8272,
            "upload_time": "2025-07-31T01:53:23",
            "upload_time_iso_8601": "2025-07-31T01:53:23.714006Z",
            "url": "https://files.pythonhosted.org/packages/2b/d6/0044ed321d0bbedc5b0e32e3d0b37334cc86b92acf2e298b48504bd4d7bf/hyperepo-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c7ccc3297c7235e7d52ea660b8b22f49255e941b8b9750f1c862a3f05e29cca4",
                "md5": "ff4ec47248c21ec3537d55d2398bf16e",
                "sha256": "71756491272402db46add34b3dab3847d6b65f2d3f5e9dabc1d71d35bdf3939a"
            },
            "downloads": -1,
            "filename": "hyperepo-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ff4ec47248c21ec3537d55d2398bf16e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 5907,
            "upload_time": "2025-07-31T01:53:25",
            "upload_time_iso_8601": "2025-07-31T01:53:25.229467Z",
            "url": "https://files.pythonhosted.org/packages/c7/cc/c3297c7235e7d52ea660b8b22f49255e941b8b9750f1c862a3f05e29cca4/hyperepo-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 01:53:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tysonzero",
    "github_project": "hyperepo",
    "github_not_found": true,
    "lcname": "hyperepo"
}
        
Elapsed time: 1.56456s