Launch Week Day 3 - FastStats CLI
An experimental terminal tool to manage projects, datasources, and dashboards without leaving your shell.
Today we are introducing an early preview of the FastStats CLI.
Early preview. This CLI is very experimental. Commands, flags, and behavior can change or break without notice. We are shipping it now because the workflow is already useful on Linux, and we want feedback while we harden it.
Platform note. We develop and test primarily on Linux. macOS and Windows builds are published, but we have not tested them end-to-end. If something breaks on your machine, open an issue so we can fix it.
Why a CLI?
- Creating a project or datasource should be fast, and should not require leaving the terminal.
- We wanted a real client for our API, something we would actually use day to day.
- CLIs and TUIs are really cool. They are a great way to interact with the platform.
What it covers
Installation
We are planning to support a standalone install script in the future. In the meantime, you can use the package manager of your choice to install the CLI:
npm i -g @faststats/cli
bun add -g @faststats/cli
pnpm add -g @faststats/cli
Authentication
Device authorization keeps login simple: run faststats login, open the printed URL, approve the device, and you are in. faststats status shows whether a token is stored; faststats logout clears it.
Projects
faststats project listshows your projects in a tablefaststats project createwalks you through an interactive create flowfaststats project show <slug>prints project details in the terminal
Data sources
Full datasource lifecycle under faststats project datasource:
list,create,edit, andremove- create and edit are interactive wizards; list and remove work from the shell with flags
Dashboards in the terminal
Two entry points share the same OpenTUI experience:
faststats dashboardbrowses your projects, lets you pick a dashboard, and renders charts in the terminalfaststats exploredoes the same for public projects on the platform
The TUI renders real dashboard data: line, area, bar, pie, widgets, lists, heatmaps, maps, and more, laid out in a grid with keyboard navigation. It is not a screenshot. It is live data from the API.
Shell completions
faststats --completions bash|zsh|fish prints a completion script, including dynamic project-slug completion so tab-complete feels native.
Run any command with --help for flags and arguments.
How we built it
The CLI is TypeScript on top of Bun, Effect, and OpenTUI.
- Bun is used to build the standalone binaries for each platform.
- Effect structures commands, HTTP, auth, and error handling. The OpenAPI spec drives a generated API client so the CLI stays aligned with the backend.
- OpenTUI (with SolidJS) powers the interactive flows: project tables, prompts, and the dashboard viewer.
What is next
This preview is the foundation: auth, project and datasource management, and terminal dashboards. We will tighten cross-platform testing, expand commands as the API grows, and smooth rough edges reported in the wild.
If you try it, tell us what broke and what you wish existed. The repo is github.com/faststats-dev/CLI.