Building apps
Two different tasks are called “building an app” in RobOS: starting an application project of your own, and adding an app to the RobOS desktop suite. This page tells you which tool does which and what to run next.
To take an app from a plan to merged pull requests with Task Planner, Task Implementer and Agent Code Review, follow the Build apps guides on rowbose.com: on your own or as a team.
Start a project of your own
The App Wizard (packages/app-wizard) is the entry point. It has two modes, selected by the Create New Project and Import Existing Code buttons in its header.
| You have | Use | What it does |
|---|---|---|
| Nothing yet | New app wizard | Writes a starter project to packages/<slug>/ and registers it. |
| A codebase on disk, or a list of repositories | Import an existing app | Detects the archetype, writes missing catalog-info.yaml and dev-setup.sh files, and adds graph nodes. |
| A web app | Front-end apps | The Next.js template the wizard generates, and the graph shape for front-end apps. |
| A game | Game development | What the repository contains for games, and what the wizard does not do for them. |
Open the wizard from the App Launcher, or run it from a RobOS checkout:
electron packages/app-wizard
Both modes look for a .robos directory in the process’s working directory and up to four parent directories, and write there. Start the wizard from inside the repository whose knowledge graph you want to update; if it finds no .robos, it uses the working directory. The app page is at App Wizard.
Work on the project with other RobOS apps
These apps read the same files and graph the wizard writes. Each has its own page; the one-line descriptions come from the apps’ package.json files.
| App | Use it for |
|---|---|
| Task Planner | Creating tasks on your task server from an AI prompt. |
| Topology Studio | Managing the system topology and the Backstage C4 catalog. |
| Git Projects | Cloning, managing and launching git repositories. |
| PR Review | Reviewing a pull request in RobOS, or opening it in IntelliJ IDEA (Review in IntelliJ) or VS Code (Review in VS Code). |
| REST API Client | Running Bruno-compatible request collections. |
| Kube Studio | Browsing Kubernetes clusters. |
| Deploy Tracker | Tracking deployment history and frequency. |
The full list is on Apps.
Add an app to the RobOS suite
Apps in the suite are Electron apps under packages/<app-id>/. Use the create-robos-app skill instead of copying an existing app by hand. Run it with the app name, for example “Dev Central”. It creates these files and then walks through registering the app:
| File | Purpose |
|---|---|
package.json, main.js | Electron main process. |
preload.js | Exposes the app’s methods to the renderer with contextBridge. |
renderer/index.html, renderer/app.js, renderer/style.css | The window. |
icon.svg | The app icon. |
<app-id>.desktop | The launcher entry. It needs X-RobOS-App=true for the App Launcher to list the app. |
Then:
- Run the app with
electron packages/<app-id>. - Read its UI as text without a screenshot:
node packages/robos-lib/snapshot-cli.js <app-id> --text. The app must callstartDebugServeron the port registered for it inPORT_REGISTRYinpackages/robos-lib/snapshot-cli.js.--jsonand--screenshotare also available. - Run the suite’s tests in Docker with
./scripts/e2e-container.sh. This needs Docker;--buildrebuilds the image and-iopens a shell in the container. - Create the app’s docs page with
node scripts/sync-app-docs.js. It adds a file todocs/_apps/for every app that has none. - To try the app on the RobOS VM, use the
deploy-to-vmskill. The VM accepts SSH on port 2224.
See Skills for how skills are installed and run, and Architecture for how the pieces fit together.