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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions