Start here
Libertas documentation for people is deliberately short. This page gives the few principles everything else follows and the words you need to ask good questions. For anything more, ask an AI assistant to read the Libertas documentation and answer your question; the prompts below point it at the right entry.
Collaboration goal
Libertas is designed to enable seamless, continuous collaboration among human developers and coding agents, human and AI users, and automated processes that coordinate with other applications.
Principles
- Source is the complete App. An App is an ordinary Rust or TypeScript library. Its data types, interactions, presentation hints, and documentation comments are written in the source; Studio extracts the schema from it. Generated artifacts are never edited by hand.
- App is data interaction; data is the GUI. Declare the data, its meaning and operations; clients present them as editors, results and actions. People, AI and other Apps use the same interaction contract. The App model explains how one description serves everyone.
- The service decides every step. A person's client sends one request at a time and waits for its reply; the App's reply decides what comes next. Clients keep no history of their own.
- The platform owns the rest. Presentation, persistence, isolation, security, auditing, and automation come from the platform. An App describes meaning and behavior, not screens or storage plumbing. When storage fails, the Hub stops the task by default.
- Smallest logically complete design. Every required behavior, reusing the platform's mechanisms, with nothing duplicated.
- Contracts are exact. What the reference states is promised; what it does not state is not. A good answer quotes the rule it relies on.
Words to know
TypeScript support is under development and not release ready.
| Term | Meaning |
|---|---|
| Hub | The platform core that runs App tasks and manages resources and data interaction. |
| App | A package of reusable software and its public types, installed on a Hub. |
| Task | A configured, running use of one of an App's public functions. |
| Studio | The development environment: projects, validation, preview, deployment. |
| Client | Studio, or the Android or iOS app, used to operate tasks. |
| Endpoint | A point where a task offers interaction to people and other software. |
| Protocol | The closed set of an endpoint's Requests, Responses, and live data. |
| Request / Response | What a client sends, and the App's reply to it. |
| SubscriptionData | Live data a task publishes while you watch. |
| Workflow | A sequence of editable requests whose next step the App decides. |
| Display Template | Rules that arrange and style the generated interface, kept apart from the schema. |
| CodeBot | An AI coding agent that writes App source from the CodeBot documentation. |
Ask an AI assistant
Copy the prompt that fits you into any AI assistant that can read web pages, then add your question. Each prompt points at a different entry in the canonical Libertas documentation.
To have an AI build or change an App (a CodeBot):
Read https://github.com/LibertasIoT/libertas-doc/blob/main/CODEBOT.md
and follow it. Build a Libertas App that:
If you develop Apps and want explanations:
Read https://github.com/LibertasIoT/libertas-doc/blob/main/DEVELOPER-ASSISTANT.md
and follow it to answer my questions about developing Libertas Apps.
My question:
If you own a Hub or use Apps:
Read https://github.com/LibertasIoT/libertas-doc/blob/main/USER-ASSISTANT.md
and follow it to answer my questions about using Libertas.
My question:
An answer should quote the rule it relies on and link its section. Treat an answer without a source as unverified, and check it against the linked page.
See it working
- Developing Apps: one tutorial from source to a running task.
- Federal tax App and Sprinkler weather control: complete Apps.
The guides, concepts, examples, and reference remain available; they are also the material the assistants read.