---
name: run_cmd_timeout
kind: function
lang: go
domain: shell
version: "1.0.0"
purity: impure
signature: "func RunWithTimeout(name string, timeout time.Duration, args ...string) core.Result[CmdResult]"
description: "Ejecuta un comando del sistema con timeout configurable."
tags: [shell, command, process, exec, timeout]
uses_functions: []
uses_types: [cmd_result_go_shell, result_go_core]
returns: [result_go_core]
returns_optional: false
error_type: "error_go_core"
imports: [time]
params:
  - name: name
    desc: "nombre del comando"
  - name: timeout
    desc: "duración máxima de ejecución"
  - name: args
    desc: "argumentos del comando (variadic)"
output: "Result[CmdResult] con stdout, stderr, exit code"
tested: false
tests: []
test_file_path: ""
file_path: "functions/shell/run_cmd_timeout.go"
---

## Ejemplo

```go
result := RunWithTimeout("curl", 5*time.Second, "https://example.com")
```

## Notas

Implementacion en devfactory/shell.
