Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/doncheli/don-cheli-sdd/migrargit clone --depth 1 https://github.com/doncheli/don-cheli-sddWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/doncheli/don-cheli-sdd/migrar)<a href="https://agentmods.dev/commands/doncheli/don-cheli-sdd/migrar"><img src="https://agentmods.dev/badge/commands/doncheli/don-cheli-sdd/migrar.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00012 | $0.02081 |
| Opus 5 | $0.00006 | $0.01040 |
| Sonnet 5 | $0.00002 | $0.00416 |
| Haiku 4.5 | $0.00001 | $0.00208 |
Grade A, and why
migrar scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 238 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/dc:migrar
Objetivo
Planificar y ejecutar migraciones de stacks tecnológicos (Vue→React, Express→Fastify) o actualizaciones de versiones mayores (Next.js 14→15, Python 3.9→3.12), minimizando riesgo de regresión.
Uso
/dc:migrar --de "Vue 3" --a "React 19"
/dc:migrar --de "Express 4" --a "Fastify 5"
/dc:migrar --de "Next.js 14" --a "Next.js 15"
/dc:migrar --de "Python 3.9" --a "Python 3.12"
/dc:migrar --de "REST" --a "GraphQL"
/dc:migrar --de "JavaScript" --a "TypeScript"
/dc:migrar --solo-plan # Solo generar plan, no ejecutar
Tipos de Migración
| Tipo | Ejemplo | Riesgo | Enfoque |
|---|---|---|---|
| Framework | Vue→React, Django→FastAPI | Alto | Rewrite incremental |
| Versión mayor | Next 14→15, Angular 17→19 | Medio | Upgrade guiado por changelog |
| Lenguaje | JS→TS, Python 2→3 | Alto | Codemods + revisión manual |
| Paradigma | REST→GraphQL, Monolito→Micro | Muy alto | Strangler Fig pattern |
| Base de datos | MySQL→PostgreSQL, Mongo→PG | Alto | Dual-write + migración |
Proceso (6 fases)
Fase 1: Inventario (automático)
Mapear el estado actual del proyecto:
## Inventario de Migración: Vue 3 → React 19
### Stack Actual
- Framework: Vue 3.4 + Composition API
- Estado: Pinia 2.1
- Router: vue-router 4.3
- UI: Vuetify 3
- Build: Vite 5
- Tests: Vitest + Vue Test Utils
### Alcance
- Componentes: 47
- Stores: 8
- Rutas: 23
- Tests: 112
- LOC: 12,400
### Dependencias Vue-Específicas
| Dependencia | Alternativa React | Complejidad |
|-------------|-------------------|-------------|
| Pinia | Zustand / Redux Toolkit | Baja |
| vue-router | React Router v7 | Media |
| Vuetify | shadcn/ui + TailwindCSS | Alta |
| Vue Test Utils | React Testing Library | Media |
| Composables (12) | Custom hooks | Baja |
Fase 2: Mapa de Equivalencias
Traducir conceptos entre ecosistemas:
## Equivalencias Vue → React
| Vue | React | Notas |
|-----|-------|-------|
| `<template>` | JSX | Diferente sintaxis, misma función |
| `ref()` / `reactive()` | `useState()` | Reactividad automática vs explícita |
| `computed()` | `useMemo()` | Semántica similar |
| `watch()` / `watchEffect()` | `useEffect()` | Cuidado con el array de deps |
| `onMounted()` | `useEffect(() => {}, [])` | Lifecycle → effects |
| `provide/inject` | `Context API` | Para estado compartido profundo |
| `v-if` / `v-for` | `{condition && ...}` / `.map()` | JSX condicional |
| `v-model` | `value` + `onChange` | Two-way vs one-way binding |
| Pinia store | Zustand store | API muy similar |
| `<slot>` | `children` / `render props` | Composición de componentes |
| Directive (`v-tooltip`) | HOC o hook | Sin equivalente directo |
| `<Transition>` | `framer-motion` | Animaciones |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 238 lines · 12 tokens per session scan A d0181d972b9d
migrar is a command published in the GitHub repository doncheli/don-cheli-sdd (57 stars, last pushed 26d ago), licensed Apache-2.0. It adds 12 tokens to every session and 2,081 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other commands, from other repositories
add-phase
Add phase to end of current milestone in roadmap.
insert-phase
Insert urgent work as decimal phase (e.g., 72.1) between existing phases.
remove-phase
Remove a future phase from roadmap and renumber subsequent phases.
research-phase
Research how to implement a phase (standalone — usually use /pbr:plan-phase instead).
reapply-patches
Reapply local modifications after a PBR update.
join-discord
Join the PBR Discord community.