Metadata-Version: 2.4
Name: lmcoding-local
Version: 3.3.0
Summary: Agente de programación local para LM Studio con interfaz tipo Codex y seguridad por workspace
Author: TV Ofertas Ecuador
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/lmcoding-local/
Keywords: lm-studio,coding-agent,cli,local-llm,codex-style
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai>=1.40.0
Requires-Dist: rich>=13.7.0
Dynamic: license-file

# llmCodex 3.3.0

Agente local de programación para LM Studio con una experiencia de terminal inspirada en agentes CLI modernos y una identidad visual violeta propia.

## Novedad principal: Verification Gate

llmCodex ya no acepta la respuesta del modelo como prueba de que una tarea funciona.

Cuando el agente modifica un proyecto:

1. Guarda un estado inicial del workspace.
2. Crea checkpoints antes de cada escritura o comando que cambie archivos.
3. Ejecuta una verificación rápida después de cada edición.
4. Antes de mostrar “terminado”, ejecuta una verificación completa.
5. Audita los archivos modificados y las pruebas.
6. Si algo falla, obliga al modelo a continuar reparando.
7. Si no logra aprobar la validación, restaura todos los cambios de la tarea.

No existe una herramienta capaz de garantizar la corrección de todos los bugs posibles. llmCodex distingue entre pruebas reales, comprobaciones sintácticas y validación limitada. Cuando no existen pruebas funcionales, informa que la confianza es básica en lugar de afirmar que todo funciona.

## Controles antierrores

- Verificación obligatoria antes de entregar cambios.
- Validación automática después de cada edición.
- Rollback completo de la tarea, no solo del último archivo.
- Checkpoints para archivos creados, modificados o eliminados.
- Detección de cambios realizados por comandos mediante hashes SHA-256.
- Bloqueo de marcadores de conflictos Git.
- Validación de JSON y TOML.
- Sintaxis Python mediante AST.
- Sintaxis JavaScript mediante `node --check` cuando Node.js está disponible.
- Comprobación estructural de JavaScript y CSS como respaldo.
- Detección de pruebas eliminadas.
- Detección de reducción de aserciones en pruebas existentes.
- Detección de nuevas pruebas desactivadas u omitidas.
- Detección de llamadas de herramientas repetidas y bucles del modelo.
- Recuperación de llamadas `<|tool_call>` devueltas como texto por LM Studio.
- Ediciones resilientes con coincidencia exacta, espacios normalizados y aproximación segura.

## Verificadores detectados

| Proyecto | Verificaciones |
|---|---|
| Python | Sintaxis, pytest o unittest, Ruff y Mypy cuando están configurados |
| Node.js | `node --check`, test, lint, typecheck y build definidos en `package.json` |
| TypeScript | `tsc --noEmit` cuando existe una instalación local |
| Rust | `cargo check` y `cargo test` |
| Go | `go test ./...` |
| Gradle | `gradlew test` |
| Maven | `mvn test` |
| .NET | `dotnet test` |
| PHP | `php -l` y PHPUnit cuando está instalado |
| Web/genérico | Integridad de archivos y sintaxis disponible |

## Requisitos

- Windows, Linux o macOS.
- Python 3.10 o superior.
- LM Studio con un modelo cargado.
- Servidor local de LM Studio iniciado, normalmente en `http://localhost:1234/v1`.
- Se recomienda un modelo con soporte nativo de tool calling.

## Instalación rápida en Windows

1. Descomprime el ZIP.
2. Ejecuta:

```text
INSTALAR-llmCodex-EN-PATH.bat
```

3. Cierra y vuelve a abrir PowerShell o CMD.
4. Comprueba:

```powershell
llmCodex --version
```

Debe mostrar:

```text
llmCodex 3.3.0
```

## Instalar el wheel manualmente

```powershell
py -m pip install --upgrade --force-reinstall .\dist\lmcoding_local-3.3.0-py3-none-any.whl
```

También puedes usar pipx:

```powershell
pipx install --force .\dist\lmcoding_local-3.3.0-py3-none-any.whl
```

Se instalan los alias:

```text
llmCodex
llmcodex
lmcoding
```

## Uso

Entra en el proyecto:

```powershell
cd "C:\ruta\de\tu\proyecto"
llmCodex
```

O especifica la carpeta:

```powershell
llmCodex -C "C:\ruta\de\tu\proyecto"
```

### Corregir errores automáticamente

```powershell
llmCodex fix -C . --full-auto --mode full
```

### Ejecutar una tarea no interactiva

```powershell
llmCodex exec "corrige el error y agrega una prueba de regresión" -C . --full-auto
```

El comando devuelve:

- Código `0`: la tarea superó el Verification Gate.
- Código `1`: error de conexión o ejecución.
- Código `2`: la tarea no quedó verificada o fue revertida.

Salida JSON:

```powershell
llmCodex exec "revisa y corrige el proyecto" -C . --full-auto --json
```

## Modos de seguridad

Solo lectura:

```powershell
llmCodex -C . --sandbox read-only
```

Escritura dentro del proyecto con confirmaciones:

```powershell
llmCodex -C . --sandbox workspace-write --ask-for-approval on-request
```

Modo automático recomendado para un proyecto bajo control de versiones:

```powershell
llmCodex -C . --full-auto
```

Acceso completo sin confirmaciones:

```powershell
llmCodex -C . --dangerously-bypass-approvals-and-sandbox
```

El último modo es peligroso y no debe usarse con proyectos o instrucciones no confiables.

## Comandos interactivos

```text
/help
/status
/models
/model ID
/permissions read-only|workspace-write|full-access
/plan on|off
/verify quick
/verify full
/doctor
/review
/diff
/undo
/compact
/new
/rename NOMBRE
/save
/exit
```

También puedes ejecutar un comando local con:

```text
!python -m pytest
```

Y adjuntar un archivo al contexto:

```text
Revisa @src/app.py y corrige el bug
```

## Qué significa la confianza de verificación

- **Alta:** se aprobaron pruebas y también build o typecheck.
- **Media:** se aprobó al menos una prueba, build o typecheck.
- **Básica:** solo se pudieron comprobar integridad y sintaxis.

Una validación con confianza básica puede aprobar el gate si todas las comprobaciones disponibles pasan, pero llmCodex informa explícitamente que no existe evidencia funcional completa.

## Construcción del paquete

```powershell
py -m pip install --upgrade build twine
py -m build
py -m twine check dist\*
```

## Publicación en PyPI

```powershell
py -m twine upload --verbose dist\*
```

Para la primera publicación de un proyecto, utiliza un token de PyPI con alcance para toda la cuenta. No publiques ni compartas el token.

## Pruebas del propio llmCodex

```powershell
py -m unittest discover -s tests -v
```

La versión 3.3.0 incluye pruebas del Verification Gate, rollback completo, detección de sintaxis rota, protección de pruebas y recuperación de llamadas de herramientas de LM Studio.
