CI / build (push) Successful in 4m26s
Adds a Postgres-backed quotes domain (poems/quotes/favorites) exposed as five agent-native actions (list-quotes, get-random-quote, create-quote, toggle-favorite, list-favorites) callable from both chat and the React UI via useActionQuery/useActionMutation. Moves the primary UI from chat to a mobile-first Quotes/Favorites experience (chat moves to /chat), adds manual OpenTelemetry instrumentation exporting traces/metrics/logs over OTLP, and wires a local Docker Postgres for shared state.
44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Verse
|
|
|
|
A quote app built on poems: browse, search, and favorite quotes drawn from
|
|
classic poems, or submit your own. Built with
|
|
[Agent Native](https://agent-native.com) — every app operation is a single
|
|
`defineAction` callable from the React UI *and* from agent chat.
|
|
|
|
## Features
|
|
|
|
- Browse and search quotes by poet, poem, or theme tag.
|
|
- Favorite quotes anonymously (per-browser, no login required).
|
|
- Submit new quotes, which create the poem record if it doesn't exist yet.
|
|
- The same actions are callable from the in-app agent chat at `/chat`.
|
|
- Postgres-backed shared state, seeded with ~20 public-domain poems on first boot.
|
|
- OpenTelemetry traces/metrics/logs for every action call, exported over OTLP.
|
|
|
|
## Action surface
|
|
|
|
See `AGENTS.md` for the full list. In short: `list-quotes`, `get-random-quote`,
|
|
`create-quote`, `toggle-favorite`, `list-favorites`.
|
|
|
|
## Develop locally
|
|
|
|
```bash
|
|
pnpm install
|
|
docker compose up -d # starts local Postgres
|
|
pnpm dev
|
|
```
|
|
|
|
Set `DATABASE_URL` in `.env` (see `.env.example`) to point at the Postgres
|
|
container, or any Postgres/Neon/Supabase/libSQL connection string — schema and
|
|
seed data are created automatically on first boot via the migration plugin in
|
|
`server/plugins/db.ts`.
|
|
|
|
## Production
|
|
|
|
```bash
|
|
pnpm build
|
|
node .output/server/index.mjs
|
|
```
|
|
|
|
Built on the Agent Native `chat` template:
|
|
[agent-native.com/docs/template-chat](https://agent-native.com/docs/template-chat).
|