Clace and its plugins are implemented in go. User applications are developed in Starlark, which uses a python inspired syntax. Clace is intended for use cases where internal tools need to provide access to backend infrastructure like databases, APIs or scripts. Each Clace app runs in a security sandbox, only operations approved by the admin are allowed for each app. App developer can make code changes but they need to stay within the defined rules. For internal tools, where the goal is to glue together external APIs, Starlark works great as the glue code. Being hypermedia driven, with HTMX support, there is no or minimal user javascript required on the frontend. Apps have no build step, so apps can be installed from github url directly.
The goal is to build a platform for developing internal tools. Since there are no python/nodejs dependencies to install, easy app distribution is the advantage of Clace for local use. The dev environment for Clace apps including live reload is available without any additional setup (just add the --dev option during app create). Rundeck like jobs for operational use cases are planned. Currently, free-form applications are supported.
To install and try it out, run
curl -L https://clace.io/install.sh | sh
source $HOME/clhome/bin/clace.env
clace server start &
clace app create --auth-type=none --approve /disk_usage github.com/claceio/clace/examples/disk_usage # This installs a du like webapp
clace app create --auth-type=none --approve /book github.com/claceio/apps/utils/bookmarks # This installs a bookmark manager using sqlite for persistence
On Windows, use pwsh -Command "iwr https://clace.io/install.ps1 -useb | iex" to install Clace (or use powershell).The installed apps are available at https://localhost:25223/disk_usage and https://localhost:25223/book.
Do try it out, would appreciate any feedback.