Tu primer componente
Este ejemplo es la guía Quickstart de 5 minutos de Wasma. Empieza directamente con Semantic IR
para aislar el recorrido de verificación y ejecución. No usa generación por IA ni requiere credenciales.
Solo necesitas la CLI wasma instalada (mediante paquete precompilado o compilada desde fuente)
y un directorio vacío para los archivos del tutorial.
1. Crea la entrada
Sección titulada «1. Crea la entrada»Guarda este bloque completo como identity.json en el directorio de trabajo.
Es una función sin imports que devuelve su único argumento entero.
{ "ir_version": "0.1", "spec_version": 1, "functions": [ { "name": "identity", "export": true, "params": [{ "name": "value", "type": "i32" }], "returns": "i32", "requirements": ["SMOKE-001"], "body": { "op": "param", "name": "value" } } ]}La versión del fixture reproduce el contrato mínimo de cli_e2e.rs. No representa
una promesa de estabilidad de todas las formas futuras de Semantic IR.
2. Verifica y compila
Sección titulada «2. Verifica y compila»Ejecuta desde el mismo directorio. Estos comandos funcionan sin continuaciones de línea tanto en PowerShell como en shells Unix.
wasma verify identity.jsonwasma build identity.json --output identity.wasmAmbos deben terminar con código de salida 0; el segundo crea identity.wasm.
verify comprueba la entrada semántica. No verifica firmas de binarios.
3. Ejecuta
Sección titulada «3. Ejecuta»wasma run --component identity.wasm --function identity --fuel 100000 42El resultado esperado es el entero 42 y código de salida 0. El presupuesto de
fuel limita el trabajo guest; su valor aquí es un presupuesto, no una medición publicada.
4. Prueba el contrato
Sección titulada «4. Prueba el contrato»Guarda esta suite como identity.yaml:
suite: identity-tutorialspec_version: 1cases: - id: identity-42 requirement: SMOKE-001 function: identity args: [42] expected: 42wasma test --suite identity.yaml --component identity.wasmLa suite debe pasar con código 0. Para observar un error de contrato, solicita una
exportación que no existe:
wasma run --component identity.wasm --function missing 42Este último comando debe fallar con código 1. Un error explícito es preferible a
un resultado silencioso por defecto. No significa que todo error sea de dominio:
argumentos inválidos o archivos ausentes pueden terminar con código 2.
Qué acabas de comprobar
Sección titulada «Qué acabas de comprobar»Entrada → verificación → compilación → invocación en sandbox determinista (salida 42) → pruebas de aceptación.
Todo el recorrido se ejecuta de forma autónoma, sin conexión de red y sin requerir claves de API.
Para avanzar hacia la generación asistida por modelos, consulta los modos de CLI,
y antes de ejecutar artefactos externos revisa seguridad.

