zircote avatar

ecosystem-migration

Migrate existing repositories to use Personal GitHub Ecosystem templates and patterns. USE THIS SKIL

作者 zircote|オープンソース

Ecosystem Migration Skill

Purpose

Migrate existing repositories to use Personal GitHub Ecosystem templates and patterns, including workflow conversion and AI integration adoption.

Triggers

  • "migrate this repo to the ecosystem"
  • "adopt the python template"
  • "convert to reusable workflows"
  • "upgrade my CI to ecosystem standards"
  • "add ecosystem AI integration"

Usage

Point this skill at an existing repository to assess its current state and receive a migration plan. Choose from full adoption, workflow-only, or incremental strategies based on project complexity.

Migration Assessment

# Detect project type
[ -f "pyproject.toml" ] && echo "Python"
[ -f "package.json" ] && echo "Node.js"
[ -f "go.mod" ] && echo "Go"
[ -f "Cargo.toml" ] && echo "Rust"
[ -f "build.gradle.kts" ] && echo "Java"

# Check existing config
ls -la .github/workflows/ 2>/dev/null
[ -f "CLAUDE.md" ] && echo "Has CLAUDE.md"
[ -f ".github/copilot-instructions.md" ] && echo "Has Copilot"

Migration Strategies

Strategy 1: Full Template Adoption

Best for: New-ish projects with minimal customization

# 1. Backup existing config
mkdir -p .migration-backup
cp -r .github .migration-backup/

# 2. Copy template files
cp -r ~/ecosystem/templates/python-template/.github ./
cp ~/ecosystem/templates/python-template/CLAUDE.md ./
mkdir -p .vscode
cp ~/ecosystem/templates/python-template/.vscode/mcp.json .vscode/

# 3. Merge configurations (manual review)

Strategy 2: Workflow-Only Migration

Best for: Established projects wanting CI standardization

# Replace existing CI with reusable workflow
name: CI
on: [push, pull_request]

jobs:
  ci:
    uses: zircote/.github/.github/workflows/reusable-ci-python.yml@2192c47863886d7a867b5042fb08de414f948f49 # main
    with:
      python-version: '3.12'
    secrets: inherit

Strategy 3: Incremental Adoption

Best for: Large projects requiring careful migration

Phase 1: AI Integration

  • Add CLAUDE.md
  • Add copilot-instructions.md
  • Add mcp.json

Phase 2: Standardize Tooling

  • Update linter/formatter configs

Phase 3: Migrate Workflows

  • Add reusable workflow alongside existing
  • Test and validate
  • Remove old workflow

Phase 4: Security Baseline

  • Add pre-commit hooks
  • Configure gitleaks
  • Enable Dependabot

Adding AI Integration

# Create CLAUDE.md
cat > CLAUDE.md << 'EOF'
# CLAUDE.md

## Project Overview
[Describe project]

## Build Commands
```bash
[relevant commands]
```

## Code Style
[Document standards]
EOF

# Create copilot-instructions.md
mkdir -p .github
cat > .github/copilot-instructions.md << 'EOF'
# GitHub Copilot Instructions

## Project Context
[Describe for Copilot]

## Code Guidelines
[Language patterns]
EOF

Converting to Reusable Workflows

Before:

name: CI
on: [push]
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: pip install ruff && ruff check .

After:

name: CI
on: [push]
jobs:
  ci:
    uses: zircote/.github/.github/workflows/reusable-ci-python.yml@2192c47863886d7a867b5042fb08de414f948f49 # main

Validation After Migration

# Check required files
for f in CLAUDE.md .github/copilot-instructions.md; do
  [ -f "$f" ] && echo "✓ $f" || echo "✗ $f"
done

# Validate workflows
actionlint .github/workflows/*.yml
grep -rnE "uses:.*@(main|master|v[0-9])" .github/workflows/ || echo "all pinned"

# Test CI (if possible)
# Run linting, tests locally

Rollback Procedure

# Quick rollback
cp -r .migration-backup/.github ./
rm CLAUDE.md .github/copilot-instructions.md

# Or selective
git checkout HEAD~1 -- .github/workflows/

Migration Checklist

Pre-Migration

  • Document current CI behavior
  • Create backup branch
  • Identify custom configs to preserve

During Migration

  • Copy/adapt template files
  • Merge configs (don't overwrite)
  • Update project-specific values

Post-Migration

  • CI passes
  • Existing features work
  • AI integration functional
  • Team approval