What do you want to do?
5 use cases
-
Read a value from a page your app does not own
Navigate to a page, wait for a marker element, and extract text or an href into workflow variables.
- REPO
ggoggam/vitre - Software and DevOps
- Intermediate
View prompt
In the Kotlin project at <project-path>, add dev.ggoggam.vitre:vitre-core:0.2.0 from Maven Central and write a workflow that navigates to <target-url>, waits for <ready-selector>, and extracts <field-selector> into a variable. Expected output: the extracted value printed from WorkflowEvent.Completed. Verify that the Completed event contains a non-empty value for that variable.
- REPO
-
Pull a whole results table into JSON in one step
Use extractRows to get one record per matching row, with each column scoped to its own row.
- REPO
ggoggam/vitre - Software and DevOps
- Intermediate
View prompt
Using the vitre-core dependency in <project-path>, write an extractRows step over <row-xpath> with columns <column-list> and a limit of <n>. Expected output: a JSON array with one record per matched row. Verify that a row lacking a column value has an empty string for that column and does not shift the other records.
- REPO
-
Visit every search result and collect details from each
Use forEach to open each result page on a lane pool and gather extracted fields in row order.
- REPO
ggoggam/vitre - Software and DevOps
- Advanced
View prompt
In <project-path>, build a Vitre workflow that extracts rows from <search-url> into results, then uses forEach to visit each row URL and extract <detail-selectors>. Expected output: a details array in row order with one entry per item. Verify that any failed item appears as a recorded failure rather than aborting the whole run.
- REPO
-
Exchange typed messages with a page you own
Send and await postMessage payloads between the workflow and your hybrid web page.
- REPO
ggoggam/vitre - Software and DevOps
- Advanced
View prompt
In <project-path>, write a Vitre workflow that loads <page-html>, clicks <button-selector>, awaits a payload of type <message-type>, and posts an acknowledgement back. Expected output: the decoded payload in the Completed event. Verify that the message is received even when the page posts it synchronously on click.
- REPO
-
Let an LLM agent drive an embedded page through MCP tools
Expose the Vitre step vocabulary to an agent as MCP tools so it can navigate, read and act on a page.
- REPO
ggoggam/vitre - Software and DevOps
- Advanced
View prompt
Using the vitre-mcp module in <project-path>, connect an MCP client to the in-process Vitre server and ask it to <task-on-page>. Expected output: a sequence of tools/call requests and JSON results, ending in a final answer. Verify that each step's JSON result matches the actual page state shown in the WebView.
- REPO
Quick start with Vitre
- Check you have what it needs: Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21); Maven Central access, which is the only setup needed for the published artifacts; Compose Multiplatform if you want the optional vitre-compose UI layer.
- Open ggoggam/vitre on GitHub and read the README and license.
- Add vitre-core to commonMain dependencies from Maven Central as dev.ggoggam.vitre:vitre-core:0.2.0.
- Declare a workflow with navigate, then waitFor on the element that means the page is ready.
- Add extract steps for the text you need, and use Source.Attribute("href") for link targets.
- Mount a WebView, take its controller, and call WorkflowEngine(controller).run(workflow).collect.
These steps come from our top use case, Read a value from a page your app does not own, which also has a copy-paste agent prompt.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for ggoggam/vitre
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeAbout this repo
- Who it is forKotlin Multiplatform developers who need to read, extract from, or script pages inside a mobile or desktop app, or who want an LLM agent to drive an embedded WebView.
- Why it is hot108 stars, launched 64 days ago
- LanguageKotlin
- Sourcegithub.com/ggoggam/vitre · Back to Hot repos
Requirements
- Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21)
- Maven Central access, which is the only setup needed for the published artifacts
- Compose Multiplatform if you want the optional vitre-compose UI layer
Add this badge to your README
Maintain Vitre? Show readers where to find these use cases.
Markdown
[](https://dedupedai.com/use-cases/ggoggam-vitre/?utm_source=github&utm_medium=badge&utm_campaign=ggoggam-vitre)
HTML
<a href="https://dedupedai.com/use-cases/ggoggam-vitre/?utm_source=github&utm_medium=badge&utm_campaign=ggoggam-vitre"><img src="https://dedupedai.com/badge/ggoggam/vitre.svg" alt="Use cases on Deduped" height="20"></a>
A static image, no tracking script. About the badge
Questions about Vitre
What is Vitre?
Vitre is a Kotlin Multiplatform library that runs step-by-step workflows inside an embedded WebView on Android, iOS and desktop, callable from app code, tests, or LLM agents over MCP or Koog. It is an open-source project on GitHub: https://github.com/ggoggam/vitre.
Who is Vitre for?
Kotlin Multiplatform developers who need to read, extract from, or script pages inside a mobile or desktop app, or who want an LLM agent to drive an embedded WebView.
What can I do with Vitre?
5 use cases so far, for example: Read a value from a page your app does not own; Pull a whole results table into JSON in one step; Visit every search result and collect details from each. Each has steps and a copy-paste agent prompt.
What do I need to run Vitre?
Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21); Maven Central access, which is the only setup needed for the published artifacts; Compose Multiplatform if you want the optional vitre-compose UI layer.
What are alternatives to Vitre?
Other hot AI repos in Software and DevOps: Codex LB Enhanced, Reuse Before Build, Aibuildai LLM Posttrain Agent, FlowX, Codex Guard.
Is Vitre safe to run?
Deduped does not own, audit or vouch for it. Read the README and license, run it on your own systems first and review every command before you run it.