A modern, beautiful desktop IDE for the Unison programming language. Built with Tauri, React, and Monaco Editor.
You will be guided to set up a workspace and associate an existing UCM project with the workspace, or create a new UCM project and link it. The UI shows when a UCM project is linked with the workspace. At any time you can create a new workspace and link a UCM project, or switch the UCM project that is linked.
When you click on a term in the UCM Explorer, it opens in the Terms panel. You can add a term to the currently open file using the plus button on the term card.
In the UCM Explorer you can select or multi-select (by holding down Cmd/Ctrl) and right-click to add whole namespaces or groups of terms to the scratch file, or open them in the Terms panel.
In the UCM Explorer you can add single or multiple (Cmd to multi-select) namespaces and terms either to an open scratch file or open them in the Terms panel. You can also delete terms and namespaces, rename or move terms. Drag and drop is supported for moving terms.
The explorer column on the left has sections that can be collapsed or expanded, and can be dragged to resize. Wherever you see a blue thick line when you hover the mouse, you can drag to resize. All panels and sections are collapsible and resizable.
You'll find a gold arrow on each line with a watch expression — clicking it runs the expression and shows the result in the output pane below the editor. For test expressions, a green arrow runs that specific test. At the top of the editor, double gold arrows run all watches, and double green arrows run all tests. A purple arrow appears for functions with IO/Exception abilities, allowing you to run them directly. The double blue arrows at the top typecheck the file, or enable the auto toggle next to it for automatic typechecking on changes.
The editor spawns a UCM process which appears in the bottom panel under the editor. The Output pane displays results from watch expressions and tests. A Terminal panel is also available for general shell access. All panels are collapsible and resizable.
Full Unison syntax support with semantic highlighting for types, terms, and abilities.
Browse namespaces, jump to definitions, and explore your codebase with ease.
Intelligent completions powered by UCM with type signatures and documentation.
Built-in UCM terminal and general-purpose shell access.
Live evaluation of expressions as you type with instant feedback.
Rich documentation rendering with code blocks and formatted text.