Silvi

Reports

Every report in the app, listed by title and description; each one a page of tiles, charts and tables read live from your database.

The Reports module in a Silvi app

What it holds

Reports is the first module in the app’s sidebar, at /reports. It lists every report by its title and description, and /reports/<id> opens one. A new app has three example reports for a made-up data society: Events, Members and Website visitors. They read sample CSV files that come with the app, so they work before you connect anything; an app without the csv connector shows them as not connected.

You add a report by asking Claude: “Make a report of sales per month, with a chart and a table.” Claude writes it, checks it and it appears in the list.

Where its files live

Path Holds
app/src/reports/<id>/report.tsx One report: its name, its queries and the components on its page
app/src/reports/<id>/*.sql One query per file, read by name in report.tsx
app/src/metrics/metrics.ts The named metrics every report can use

A report is its folder: adding the folder adds the report to the list, and the folder name is its URL.

Settings

Settings → Reports shows the module’s name, the code behind its screens and its folder, app/src/reports/.

Page Read it to
Report files Know what report.tsx and its .sql files hold
All components See every chart, table, input and dialog part a report can use
Connectors Point the reports at your database or data files