Files
stack/packages/cli-tools/README.md
Jason Woltje 32c81e96cf
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
feat: Add @mosaic/cli-tools package for git operations
New package providing CLI tools that work with both Gitea and GitHub:

Commands:
- mosaic-issue-{create,list,view,assign,edit,close,reopen,comment}
- mosaic-pr-{create,list,view,merge,review,close}
- mosaic-milestone-{create,list,close}

Features:
- Auto-detects platform (Gitea vs GitHub) from git remote
- Unified interface regardless of platform
- Available via `pnpm exec mosaic-*` in monorepo context

Updated docs/claude/orchestrator.md:
- Added CLI Tools section with usage examples
- Updated issue creation to use package commands

This makes Mosaic Stack fully self-contained for orchestration tooling.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:42:35 -06:00

3.4 KiB

@mosaic/cli-tools

CLI tools for Mosaic Stack orchestration - git operations that work with both Gitea and GitHub.

Overview

These scripts abstract the differences between tea (Gitea CLI) and gh (GitHub CLI), providing a unified interface for:

  • Issue management (create, list, assign, close, comment)
  • Pull request management (create, list, merge, review)
  • Milestone management (create, list, close)

Installation

The package is part of the Mosaic Stack monorepo. After pnpm install, the commands are available in the monorepo context.

# From monorepo root
pnpm install

# Commands available via pnpm exec or npx
pnpm exec mosaic-issue-create -t "Title" -b "Body"

Commands

Issues

Command Description
mosaic-issue-create Create a new issue
mosaic-issue-list List issues (with filters)
mosaic-issue-view View issue details
mosaic-issue-assign Assign issue to user
mosaic-issue-edit Edit issue (title, body, labels, milestone)
mosaic-issue-close Close an issue
mosaic-issue-reopen Reopen a closed issue
mosaic-issue-comment Add comment to issue

Pull Requests

Command Description
mosaic-pr-create Create a pull request
mosaic-pr-list List pull requests
mosaic-pr-view View PR details
mosaic-pr-merge Merge a pull request
mosaic-pr-review Review a pull request
mosaic-pr-close Close a pull request

Milestones

Command Description
mosaic-milestone-create Create a milestone
mosaic-milestone-list List milestones
mosaic-milestone-close Close a milestone

Usage Examples

Create an issue with milestone

mosaic-issue-create \
  -t "Fix authentication bug" \
  -b "Users cannot log in when..." \
  -l "bug,security" \
  -m "M6-AgentOrchestration"

List open issues in milestone

mosaic-issue-list -s open -m "M6-AgentOrchestration"

Create a pull request

mosaic-pr-create \
  -t "Fix authentication bug" \
  -b "Resolves #123" \
  -B develop \
  -H fix/auth-bug

Merge with squash

mosaic-pr-merge -n 42 -m squash -d

Platform Detection

The scripts automatically detect whether you're working with Gitea or GitHub by examining the git remote URL. No configuration needed.

  • git.mosaicstack.dev → Gitea (uses tea)
  • github.com → GitHub (uses gh)

Requirements

  • Gitea: tea CLI installed and authenticated
  • GitHub: gh CLI installed and authenticated
  • Both: git available in PATH

For Orchestrators

When using these tools in orchestrator/worker contexts:

# In worker prompt, reference via pnpm exec
pnpm exec mosaic-issue-create -t "Title" -m "Milestone"

# Or add to PATH in orchestrator setup
export PATH="$PATH:./node_modules/.bin"
mosaic-issue-create -t "Title" -m "Milestone"

Development

Scripts are plain bash - edit directly in bin/.

# Lint with shellcheck (if installed)
pnpm lint