---
name: assert_file_exists
kind: function
lang: bash
domain: shell
version: "1.0.0"
purity: impure
signature: "assert_file_exists(file_path: string) -> string"
description: "Verifica que un archivo existe en el filesystem. Imprime su tamaño en bytes a stdout. Sale con exit code 1 si el archivo no existe."
tags: [assert, file, exists, validation, shell, bash]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
  - name: file_path
    desc: "ruta del archivo a verificar"
output: "tamaño del archivo en bytes"
tested: false
tests: []
test_file_path: ""
file_path: "bash/functions/shell/assert_file_exists.sh"
---

## Ejemplo

```bash
source functions/shell/assert_file_exists.sh

size=$(assert_file_exists $HOME/fn_registry/registry.db)
echo "Tamaño: $size bytes"
```

## Notas

La función se sourcea, no se ejecuta directamente. Usa `stat -c%s` para obtener el tamaño en bytes (compatible con GNU coreutils / Linux).

Output limpio: solo el número de bytes a stdout. Los errores van a stderr.

No usa `set -e` internamente — el caller controla el flujo con el exit code de retorno.
