Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,10 @@ Version 0.x is deliberately narrow: Node.js ≥ 20; one public entry per cell; r
| First frozen corpus pilot | [docs/research/ts-js-workspace-pilot-2026-07-18.md](docs/research/ts-js-workspace-pilot-2026-07-18.md) |
| Python framework onboarding run | [docs/research/oss-python-framework-800-2026-07-18.md](docs/research/oss-python-framework-800-2026-07-18.md) |

## Translated quickstarts

- [Español / Spanish](docs/i18n/es/quickstart.md)

## Contributing, security, license

See [CONTRIBUTING.md](CONTRIBUTING.md) and [SECURITY.md](SECURITY.md). Apache-2.0, see [LICENSE](LICENSE).
77 changes: 77 additions & 0 deletions docs/i18n/es/quickstart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Inicio rápido de CellFence

> Traducción de la comunidad. La fuente en inglés es el [README de CellFence](../../../README.md).

CellFence es una herramienta determinista de control arquitectónico para repositorios modificados tanto por personas como por agentes de programación con IA. Inspecciona el estado final del repositorio e identifica desvíos arquitectónicos que las pruebas y comprobaciones de tipos habituales suelen pasar por alto:

- importaciones privadas a través de los límites entre celdas (*cells*)
- dependencias entre celdas no declaradas
- desvíos en la API pública declarada
- accesos a recursos no declarados
- modificaciones del manifiesto que autoaprueban el crecimiento arquitectónico

Por ejemplo, CellFence puede rechazar una importación procedente de la implementación privada de otra celda, incluso si el código compila y las pruebas pasan con éxito:

```ts
// src/reporting/summary.ts
import { tokenizeInternal } from "../parser/internal/tokenizer";
```

```text
CellFence check failed.
[error] CELLFENCE_PRIVATE_IMPORT src/reporting/summary.ts: reporting imports private implementation from parser
```

El contrato arquitectónico establece que los consumidores deben utilizar en su lugar la entrada pública declarada (`publicEntry`) de la celda productora, por ejemplo:

```ts
import { parseDocument } from "../parser/public";
```

## Pruébalo en sesenta segundos

En un directorio vacío:

```bash
npm install --save-dev cellfence
npx cellfence init # writes cellfence.manifest.json
mkdir -p src/example
echo 'export const example = 1;' > src/example/public.ts
npx cellfence check
```

La salida esperada es:

```text
CellFence check passed.
```

El comando `init` genera un manifiesto inicial con una celda `example` que posee `src/example/**`. Cámbiale el nombre, añade las celdas reales de tu proyecto y vuelve a ejecutar `check` hasta que el límite arquitectónico describa tu diseño correctamente.

Para automatizaciones no destructivas, `init --no-scaffold` rechaza este ejemplo vacío como alternativa de respaldo (*fallback*), en lugar de generar un manifiesto que apunte a archivos inexistentes.

## Pruébalo en un repositorio existente

En un repositorio que ya contiene archivos de código fuente:

```bash
npm install --save-dev cellfence
npx cellfence init --no-scaffold
npx cellfence check --format markdown
```

El parámetro `init --no-scaffold` intenta inferir la estructura real del repositorio sin crear archivos de marcador de posición (*placeholders*). Si no puede inferir una estructura confiable, finaliza en lugar de presentar un manifiesto inicial como si fuera una configuración completa.

Revisa el archivo `cellfence.manifest.json` generado **antes** de confirmarlo (*commit*). Los manifiestos inferidos son un punto de partida, no una garantía de que se hayan capturado todos los límites arquitectónicos deseados.

Cuando la comprobación local coincida con la arquitectura que deseas aplicar, decide si el primer paso de CI debe ejecutar `check` estándar, `check --changed --base origin/main` o `baseline check` con un archivo `cellfence.baseline.json` revisado. Para más detalles, consulta la [guía de CI](../../ci.md).

## Límites y próximos pasos

CellFence se encuentra actualmente en fase **previa al lanzamiento v0.x** (*pre-release*), por lo que los esquemas y las opciones de línea de comandos (CLI) pueden cambiar entre versiones secundarias. Requiere **Node.js ≥ 20**.

La herramienta ofrece un análisis estático más exhaustivo para TypeScript/JavaScript, junto con un soporte específico y limitado para Python y patrones seleccionados de recursos. No puede demostrar todo comportamiento dinámico ni resolver cualquier importación calculada en tiempo de ejecución.

CellFence **no es un entorno de aislamiento en tiempo de ejecución (*runtime sandbox*) ni un sistema de permisos para llamadas a herramientas (*tool calls*)**. Tampoco garantiza que el código generado sea funcionalmente correcto. Complementa —no reemplaza— las pruebas, el análisis estático (*linting*), la verificación de tipos (*type checking*), las ramas protegidas y la revisión de código por pares (*code review*).

Consulta la lista completa de [limitaciones actuales](../../limitations.md) y la [guía de CI](../../ci.md) antes de utilizarlo como una verificación requerida en un proyecto real.
Loading