CS
Coki Studios Docs smiledev CLI
smiledev v1.1 Alpha! 1.1A LoopModules Registry

smiledev Package Manager

Gestor oficial de paquetes, módulos y dependencias políglotas para Looping y Loop OS. Soporta módulos en .loop, Python/PyLoop (.py), C++17 (.hpp), C2 declarativo (.c2) y paquetes híbridos multi-archivo.

Abrir smiledev Studio Web →

Instalación y Canales

Instala los canales oficiales (Looping Producción, Omega Looping RC o Alpha! 1.1A experimental) vía Homebrew o script directo:

# 1. Homebrew (macOS)
brew tap cokistudios/tap
brew install looping smiledev
brew install cokistudios/tap/smiledev-alpha   # Canal Alpha! 1.1A

# 2. Script directo (macOS / Linux)
curl -fsSL https://repo.cokistudios.com/engine/install.sh | bash
curl -fsSL https://repo.cokistudios.com/engine/install.sh | bash -s -- --alpha

# 3. Diagnóstico de entorno y compiladores
smiledev doctor

Arquitectura de Resolución de Módulos

Cuando ejecutas use "nombre" o import "nombre", el motor resuelve las dependencias siguiendo esta jerarquía:

  1. Stdlib interna C++17 (math, crypto, sys, csv, datetime, regex, ui, swiftui, json, file, csharp).
  2. Ruta relativa directa en el directorio de trabajo (./modulo, ./modulo.loop).
  3. Manifiesto local ./modules/<nombre>/smile.json usando su campo entry_point.
  4. Fallback local: ./modules/<nombre>/<nombre>.loop o main.loop, y ./loop_modules/<nombre>.loop.
  5. Caché global en ~/.smiledev/modules/<nombre>/.
  6. Python Bridge fallback: <nombre>.py / main.py.

Referencia de Comandos CLI

Comando Descripción Ejemplo
smiledev install [mod] Instala un paquete o todas las dependencias de smile.json. smiledev install loopize++
smiledev uninstall <mod> Elimina un módulo local o global (--global). smiledev uninstall loop-gui-tk
smiledev search <q> Busca paquetes en LoopModules Registry. smiledev search 3d
smiledev init <name> Genera plantilla con smile.json, código base y README. smiledev init mi-plugin --lang loop
smiledev link / unlink Enlaza simbólicamente un módulo local para pruebas globales. smiledev link ./modules/loopize++
smiledev pack / validate Valida integridad y empaqueta en .tar.gz con SHA-256. smiledev pack ./modules/loopize++
smiledev login / publish Autentica con token PAT de CS ID y publica en LoopModules. smiledev publish ./modules/mi-plugin
smiledev add-repo / list-repos Configura espejos o repositorios externos en JSON. smiledev add-repo https://repo.cokistudios.com/modules

Manifiesto smile.json (Estándar e Híbrido)

Un paquete híbrido puede coordinar código en Looping, headers nativos C++17, componentes C# y utilidades Web:

{
  "name": "loopize++",
  "version": "1.0.0",
  "language": "hybrid",
  "entry_point": "loopize.loop",
  "description": "High-performance 3D/2D game additions library for Looping",
  "dependencies": {
    "loop-math-3d": "^1.0.0"
  },
  "components": {
    "loop": "loopize.loop",
    "cpp": "components/loopize_core.hpp",
    "csharp": "components/LoopizeGame.cs",
    "js": "components/web-loopize-kit.js"
  }
}

Resolución Multifuente & Registro Oficial

El registro principal opera en https://repo.cokistudios.com/modules y expone el catálogo JSON para instalación automática desde CLI:

smiledev add-repo https://repo.cokistudios.com/modules
smiledev list-repos
smiledev repo-spec
Manual completo disponible Consulta todas las especificaciones detalladas en SMILEDEV_README.md.