---
name: write_claude_jupyter_rules
kind: function
lang: bash
domain: infra
version: "1.0.0"
purity: impure
signature: "write_claude_jupyter_rules([project_dir: string]) -> string"
description: "Genera o actualiza .claude/CLAUDE.md con reglas para agentes que trabajan con Jupyter: celdas inmutables, programacion funcional, uso de MCP, acceso al fn_registry."
tags: [claude, jupyter, rules, setup, infra]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
  - name: project_dir
    desc: "directorio del proyecto Jupyter (default: directorio actual)"
output: "ruta del archivo .claude/CLAUDE.md generado o actualizado"
tested: false
tests: []
test_file_path: ""
file_path: "bash/functions/infra/write_claude_jupyter_rules.sh"
---

## Ejemplo

```bash
source write_claude_jupyter_rules.sh
path=$(write_claude_jupyter_rules /home/lucas/analysis/finanzas)
echo "Reglas escritas en: $path"
```

## Notas

Idempotente: si CLAUDE.md ya contiene las reglas (detecta "JUPYTER HABILITADO"), no las duplica. Si CLAUDE.md existe sin las reglas, las prepend al contenido existente. Incluye instrucciones de acceso al fn_registry via `FN_REGISTRY_ROOT`.
