---
name: validate_git_ssh_uri
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "def validate_git_ssh_uri(url: str) -> None"
description: "Valida el formato de una URI SSH de git (git@host:path). Lanza ValueError si la URI es invalida."
tags: [git, ssh, validation, uri]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
params:
  - name: url
    desc: "String con URI SSH de git a validar (formato git@host:path)"
output: "None si la URI es válida, lanza ValueError si es inválida"
tested: true
tests:
  - "URI valida"
  - "URI sin git@"
  - "URI sin colon"
  - "URI con path vacio"
test_file_path: "python/functions/core/parse_git_url_test.py"
file_path: "python/functions/core/core.py"
---

## Ejemplo

```python
validate_git_ssh_uri("git@github.com:org/repo.git")
# None (sin excepcion)

validate_git_ssh_uri("https://github.com/org/repo")
# ValueError: git SSH URI must start with 'git@', got: 'https://github.com/org/repo'

validate_git_ssh_uri("git@github.com/org/repo")
# ValueError: git SSH URI must contain ':'

validate_git_ssh_uri("git@github.com:")
# ValueError: git SSH URI must have a non-empty path after ':'
```

## Notas

Funcion pura. Valida solo la estructura sintatica del formato SSH de git: prefijo `git@`, separador `:`, y path no vacio. No verifica que el host sea alcanzable ni que el repo exista. Usar antes de `subprocess.run(["git", "clone", uri])` para dar mensajes de error claros al usuario.
