# How to set up Fe > Step-by-step guide to setting up your development environment in Fe **Published by:** [jistro](https://paragraph.com/@jistro/) **Published on:** 2026-05-09 **URL:** https://paragraph.com/@jistro/how-to-set-up-fe ## Content ImportantThe language is very recent, so there may be discrepancies after the publication of this post.IT IS NOT READY FOR PRODUCTION: There are still certain bugs and limitations unless the team behind Fe notifies otherwise, I recommend using it locally or on testnet.CLI setupTo have your development environment set up, it's very simple, just open your command console and paste this instruction. curl -fsSL https://raw.githubusercontent.com/argotorg/fe/master/feup/feup.sh | bashThis will install the Fe compiler and add feup for future updates, as well as add the Fe directory to your PATH. Once that’s done, all you have to do is open and close the console, and Fe will be ready to use. To verify that it’s installed, simply type:fe --versionand it will show us the compiler version Let's take a quick tour of what you can do with the Fe command.SubcommandDescriptionbuildCompile Fe code to EVM bytecode. Generate the artifacts for deployment.checkCompiles without generating bytecode. Validates syntax and types quickly, useful for CI or pre-commit hooks.docGenerate the project documentationtreeShows the dependency structure of the ingot (which ingots depend on which).fmtAutomatically formats Fe code according to the official language style.testRuns tests marked with #[test]. Supports filters, parallelization, and debug flagsnewCreate a new Fe (ingot) project or workspace with the standard structurecompletionGenerate autocomplete scripts for your shell (bash, zsh, fish)lsifGenerates an LSIF (Language Server Index Format) index for code navigation in editors/IDEsrootFind the root of the ingot or workspace from any subdirectory. Useful for scripts.lspStart the Language Server Protocol for integration with editors (VSCode, Neovim, etc.). It provides autocomplete, diagnostics, and “go to definition.”scipGenerates a SCIP (Successors to LSIF) index for code navigation, a more modern format than LSIF.helpDisplays help for commands and subcommands.Set up in editorSince you already have Fe in your preferred CLI, the only thing left is to set it up in your preferred code editor. It's optional, but it will be a great help when you're writing code. As of the date of creation of this post, the official extensions include:vs codezedneovimemacsLet's take a look at how to install each one, or if you prefer, skip ahead to the one you usevs codeDownload the .vsix file from the releases section of the GitHub repository https://github.com/fe-lang/vscode-fe/releasesYou have two options for installing itOpen VS Code and, from the command palette, run “Extensions: Install from VSIX,” then select the fileFrom the CLI, navigating to the folder where you downloaded it (usually Downloads), run code --install-extension fe-language-*.vsixzedClone the repository using git clone https://github.com/fe-lang/zed-feIn Zed, go to Extensions, click “Install Dev Extension,” and select the directory of the cloned repositoryneovimYou must have Neovim 0.9+ with a C compiler (GCC or Clang), with those requirements you just need to add in:lazy.nvim{ "https://github.com/fe-lang/nvim-fe", config = function() require("nvim_fe").setup() end, }packer.nvimuse({ "https://github.com/fe-lang/nvim-fe", config = function() require("nvim_fe").setup() end, })emacsYou must have Emacs 29.1+ along with a C compiler, once you meet the requirements you just need to add:(use-package fe :vc (:url "https://github.com/fe-lang/emacs-fe" :branch "main"))To automatically start the language server with Eglot:(setq fe-mode-eglot-auto t)With the CLI and the editor ready, you can now create ingots, compile contracts, and run tests locally. In upcoming posts, we will explore the Fe syntax in depth and replicate classic Solidity contracts to compare both approaches. ## Publication Information - [jistro](https://paragraph.com/@jistro/): Publication homepage - [All Posts](https://paragraph.com/@jistro/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@jistro): Subscribe to updates - [Twitter](https://twitter.com/jistro): Follow on Twitter