Skip to content

feat: setup multirepo workspace #2

@christso

Description

@christso

Proposal

create CLI tool similar to https://github.com/iannuttall/dotagents except

  1. we support multi-repo workspaces
  2. can sync to plugin directory.
  3. copy files instead of symlinks.

It will only support commands and skills initially.

Workspace Template

file: templates/workspace-1/AGENTS.md

<!-- WORKSPACE-RULES:START -->
# Workspace Rules

## Rule: Workspace Discovery
TRIGGER: Any task
ACTION: Read `workspace.yaml` to get repository paths and project domains

## Rule: Correct Repository Paths
TRIGGER: File operations (read, search, modify)
ACTION: Use repository paths from `workspace.yaml`, not assumptions
<!-- WORKSPACE-RULES:END -->

file: templates/workspace-1/workspace.yaml

repositories:
  - path: ../allagents
    owner: EntityProcess
    repo: allagents
    description: primary project

  - path: ../dotagents
    owner: iannuttall
    repo: dotagents
    description: related project that inspired the primary project

  - path: ../openskills
    owner: numman-ali
    repo: openskills
    description: Universal skills loader for AI coding agents

  - path: ../mcporter
    owner: steipete
    repo: mcporter
    description: related project used for inspiration to copy mcp tokens

plugins:
  - .claude/allagents
  - https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-review

clients:
  - copilot
  - copilot-cli
  - claude
  - opencode
  - codex

New Workspace Directory

Initiallize git repository and make initial commit.

The plugin relative path is converted to absolute path that points to the original repo.

plugins:
  - ~/projects/allagents/.claude
  - https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-review

Copilot

.github/prompts
.github/skills
.github/instructions/skills.instructions
AGENTS.md

Claude

.claude/commands
.claude/skills
CLAUDE.md

Example Usage

Create new workspace from template.

cd templates/workspace-1
allagents workspace init path/to/new/workspace

When we sync the workspace, it will create a new commit with a description mentioning the commit and timestamp of each plugin that's synced.

cd projects/workspace-1
allagents workspace sync

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions