Sutil
Lightweight front-end framework for F# / Fable. No dependencies.
Install / Use
/learn @davedawkins/SutilREADME
Sutil 
Sutil is a web application framework for F#.
Its features are:
- Simple DOM builder, courtesy of Feliz.Engine
- No dependencies. Sutil is written entirely in F#, and so does not layer on top of another JS framework, such as React.
- Reactivity using IObservable and stores. Sutil does not use a virtual DOM.
- Support for Elmish (Model-View-Update) architecture.
In addition, Sutil inherits all the benefits of both Fable (F# with excellent JS interop) and F# itself.
Sutil was heavily inspired by Svelte, and imports several of its design features, such as stores and component styling. Some parts of Sutil are direct ports from Svelte.
Getting Started
See the documentation here. This will show you how to start your own Sutil project in a variety of ways, and explain the basic concepts. You'll also many examples here.
Development (of Sutil)
To compile Sutil and build the main Sutil app in watch mode:
npm run start
To run tests:
npm run test
To deploy to https://sutil.dev (you will need to be Dave Dawkins for this to work). This will:
- build Sutil
- build documentation
- install to sutil.dev
npm run deploy:linode
Building the REPL
Manually:
- ensure that repl/src/Fable.Repl.Lib/Fable.Repl.Lib.fsproj is up-to-date with the list of Sutil file names.
- review
repl/public/samples/samples.jsonfor examples that should be included or removed
Build the REPL and deploy (to sutil.dev if you're Dave Dawkins):
cd ../davedawkins/repl
./sutilbuild.sh
npm run deploy:linode
Related Skills
node-connect
338.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.6kCommit, push, and open a PR
