El lenguaje es muy reciente, así que puede existir discrepancias después de la publicación de este post.
NO ESTÁ LISTO PARA PRODUCCIÓN: Aún existen ciertos errores y limitantes dentro; a menos que el equipo detrás de Fe notifique lo contrario, recomiendo usarlo local o en testnet
Para poder tener preparado tu entorno de desarrollo, es muy sencillo, como abrir tu consola de comandos y pegar esta instrucción.
curl -fsSL https://raw.githubusercontent.com/argotorg/fe/master/feup/feup.sh | bashEsto hará que instale el compilador de fe y te agregue feup para futuras actualizaciones, además de agregar el directorio de Fe a tu PATH
Hecho esto solo tendremos que abrir y cerrar la consola y tendremos Fe listo para usar. Para comprobar que lo tenemos instalado tan solo debemos escribir:
fe --versiony nos lanzará la versión del compilador
Vamos a hacer un tour rápido por lo que puedes hacer con el comando Fe
Subcomando | Descripción |
build | Compila código Fe a bytecode EVM. Genera los artifacts para deploy |
check | Compila sin generar bytecode. Valida sintaxis y tipos rápidamente, útil para CI o pre-commit hooks. |
doc | Genera la documentación del proyecto |
tree | Muestra la estructura de dependencias del ingot (qué ingots depende de cuáles). |
fmt | Formatea automáticamente el código Fe según el estilo oficial del lenguaje. |
test | Ejecuta tests marcados con #[test]. Acepta filtros, paralelización, y flags de debug |
new | Crea un nuevo proyecto Fe (ingot) o workspace con la estructura estándar |
completion | Genera scripts de autocompletado para tu shell (bash, zsh, fish). |
lsif | Genera índice LSIF (Language Server Index Format) para navegación de código en editores/IDEs |
root | Encuentra la raíz del ingot o workspace desde cualquier subdirectorio. Útil para scripts. |
lsp | Inicia el Language Server Protocol para integración con editores (VSCode, Neovim, etc.). Provee autocompletado, diagnostics, go-to-definition. |
scip | Genera índice SCIP (Successors to LSIF) para navegación de código, formato más moderno que LSIF. |
help | Muestra ayuda de comandos y subcomandos. |
Como ya tienes Fe en tu cli de preferencia, lo único que queda es hacer el set up en tu editor de código de preferencia, es opcional pero será una gran ayuda cuando estés creando código.
Hasta la fecha de creación de este post, las extensiones oficiales abarcan:
vs code
zed
neovim
emacs
Veamos cómo instalar cada uno de ellos o si lo prefieres salta hasta el que usas
Descarga el .vsix desde la sección de releases del repositorio de github https://github.com/fe-lang/vscode-fe/releases
Tienes dos opciones para instalarlo
Abre VS Code y desde la command palette ejecuta "Extensions: Install from VSIX" y desde ahí escoge el archivo
Desde el CLI, apuntando a la carpeta donde lo descargaste (generalmente es Downloads), ejecuta
code --install-extension fe-language-*.vsix
Clona el repo usando
git clone https://github.com/fe-lang/zed-feEn zed, ve a Extensions y Install Dev Extension y selecciona el directorio del repo clonado
Debe tener Neovim 0.9+ con un compilador de C (GCC o Clang), ya con esos requerimientos solo debe agregar en:
{
"https://github.com/fe-lang/nvim-fe",
config = function() require("nvim_fe").setup() end,
}use({
"https://github.com/fe-lang/nvim-fe",
config = function() require("nvim_fe").setup() end,
})Debes tener Emacs 29.1+ junto con un compilador de C, una vez cumpleindo con los requerimientos solo se debe agregar:
(use-package fe
:vc (:url "https://github.com/fe-lang/emacs-fe"
:branch "main"))Para iniciar automáticamente el servidor de lenguaje con Eglot:
(setq fe-mode-eglot-auto t)Con el CLI y el editor listos, ya puedes crear ingots, compilar contratos y ejecutar tests localmente. En próximos posts exploraremos la sintaxis de Fe en profundidad y replicaremos contratos clásicos de Solidity para comparar ambos enfoques.

