Babysitter config-migration-generator

Generate configuration file migration utilities for version upgrades.

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/cli-mcp-development/skills/config-migration-generator" ~/.claude/skills/a5c-ai-babysitter-config-migration-generator && rm -rf "$T"
manifest: library/specializations/cli-mcp-development/skills/config-migration-generator/SKILL.md
source content

Config Migration Generator

Generate config file migration utilities.

Generated Patterns

interface Migration {
  version: string;
  up: (config: any) => any;
  down: (config: any) => any;
}

const migrations: Migration[] = [
  {
    version: '2.0.0',
    up: (config) => ({
      ...config,
      server: { host: config.host, port: config.port },
      version: '2.0.0',
    }),
    down: (config) => ({
      host: config.server?.host,
      port: config.server?.port,
      version: '1.0.0',
    }),
  },
];

export function migrateConfig(config: any, targetVersion: string): any {
  let current = config;
  for (const migration of migrations) {
    if (semver.gt(migration.version, config.version) && semver.lte(migration.version, targetVersion)) {
      current = migration.up(current);
    }
  }
  return current;
}

Target Processes

  • configuration-management-system
  • cli-update-mechanism