# Command: git branch (TBD) Wrapper sobre `tbd_branch_create_bash_infra`. La función del registry maneja toda la lógica determinista (verificar limpio, autodetectar master/main, pull --rebase, validar slug + número de issue, crear rama). Este comando solo decide los inputs. ## Uso ``` /git-branch # preguntar al usuario /git-branch issue 0021 hot-reload /git-branch quick fix-typo-readme ``` ## Pasos del asistente 1. **Decidir modo e inputs**: - Preguntar si el cambio está asociado a un issue o no. - Si es issue: pedir `` (4 dígitos) y `` kebab-case. - Si es quick: pedir `` kebab-case descriptivo. 2. **Llamar la función del registry**: ```bash source /home/lucas/fn_registry/bash/functions/infra/tbd_branch_create.sh tbd_branch_create issue 0021 hot-reload # o tbd_branch_create quick fix-typo-readme ``` La función: - Verifica que el working tree esté limpio (aborta si dirty). - Cambia a master/main (autodetecta). - `git pull --rebase` desde la rama base. - Valida `` (regex 4 dígitos) y `` (kebab-case ASCII). - `git checkout -b `. - Imprime confirmación. ## Convenciones - **Formato issue**: `issue/-` (4 dígitos siempre). - **Formato quick**: `quick/` (sin número). - **Ramas cortas**: idealmente horas, no días. - **Una rama por issue**: no mezclar issues en la misma rama. - **Nunca pushear la rama al remoto**: el push se hace desde master después del merge (ver `/git-push`). - **No commits WIP**: cada commit atómico con mensaje real. ## Features multi-issue Para features que no caben en una sola rama, sub-issues con sufijo letra: ``` issue/0015a-telegram-types issue/0015b-telegram-client issue/0015c-telegram-listener ``` Cada sub-rama sigue el mismo flujo. El código parcial se protege con **feature flags** en `dev/feature_flags.json`. ## Para tocar la lógica Editar `tbd_branch_create_bash_infra` en `bash/functions/infra/tbd_branch_create.sh`, no este wrapper.