Skip to main content

Reference Apps

Service Lasso reference apps are template repos you can clone or use as a GitHub template when you want a working host application instead of starting from an empty project. Each one uses the published @service-lasso/service-lasso package, carries an app-owned services/ inventory, and demonstrates how a host app can show its own UI while still exposing Service Admin and managed services.

Use these templates when you want the fastest path to a real app shape:

  • Source templates show the code you are expected to own.
  • Bootstrap artifacts download service archives at first run.
  • Bundled artifacts already contain downloaded service archives, so the user does not need a service download step before startup.
  • The checked-in service inventory keeps service choices explicit and reviewable.

Choose A Template

TemplateChoose it whenWhy it is useful
service-lasso-app-nodeYou need a plain Node host, CLI, daemon, local dev tool, or server-side wrapper.It is the smallest general-purpose host. It is easy to inspect, easy to automate, and a good baseline before adding a larger UI shell.
service-lasso-app-webYou want a browser-first app shell around Service Lasso.It gives users a normal web entry point while still proving runtime/service discovery and Service Admin access. Choose it for dashboards, internal tools, and hosted local-control panels.
service-lasso-app-electronYou want a desktop app with strong Node integration and familiar desktop packaging.Electron is a pragmatic choice when the host needs deep JavaScript ecosystem access, local process orchestration, and a mature desktop distribution path.
service-lasso-app-tauriYou want a lighter native desktop shell and are comfortable with the Tauri/Rust toolchain.Tauri is a good fit when app size, native shell feel, and a tighter runtime footprint matter more than Electron's Node-native convenience.
service-lasso-app-packager-pkgYou want a pkg-based Node executable output.Use it when consumers expect a packaged executable but your host is still fundamentally a Node app. It demonstrates source, bootstrap-download, and bundled/no-download outputs.
service-lasso-app-packager-seaYou want to evaluate Node Single Executable Application distribution.SEA is worth choosing when you want to stay close to official Node executable packaging and test whether it fits your deployment constraints.
service-lasso-app-packager-nexeYou want to evaluate nexe-style Node executable distribution.Choose it when nexe matches your packaging environment or you need to compare executable tradeoffs against pkg and SEA.

What They Prove

Every reference app should make the same core integration story obvious:

  • The repo can be cloned and run with documented commands.
  • The host app shows its own output, not just Service Admin.
  • The host owns a services/ folder with the services it wants.
  • Service Admin is reachable from the host app experience.
  • Service Lasso can discover and manage the app's services.
  • Echo Service and Service Admin are available as baseline integration targets.

How To Decide

Start with service-lasso-app-node if you are still deciding. It is the clearest template for understanding the runtime contract and service inventory without desktop or browser packaging noise.

Choose service-lasso-app-web when your users naturally arrive through a browser. Choose service-lasso-app-electron or service-lasso-app-tauri when the app needs a desktop shell. Choose one of the packager templates when the main product decision is executable distribution rather than UI shape.

If you are building a new service rather than a host app, start with the Service Authoring Overview instead.