CLI
Open documentation actions
Browse and Search Options
List option categories and their options, or search every ecosystem by ID, label, or alias, and get the CLI flag that selects each option.
list and search read the option catalog that ships with the CLI. They answer questions such as
"what auth options exist for Go" and "which category is drizzle in, and what is its flag" without
prompts, a browser, or a project directory. Both commands are read-only and send no telemetry.
List categories and options
Without a category, list prints every option category with its flag and option count.
--ecosystem keeps only the categories that ecosystem uses:
bunx create-better-fullstack@latest list --ecosystem goWith a category ID, list prints that category's options. Each row shows the option ID, its
label, the exact argument that selects it, and any legacy IDs:
bunx create-better-fullstack@latest list goAuth --ecosystem go● Go Auth (goAuth), single select, --go-auth
│
│ id label flag legacy ids
│ casbin Casbin --go-auth casbin
│ jwt golang-jwt --go-auth jwt
│ goth Goth --go-auth goth
│ oauth2 golang.org/x/oauth2 --go-auth oauth2
│ none None --go-auth noneCategory IDs are the option catalog's names, such as orm, webFrontend, or goAuth. An unknown
category exits with status 1 and names the valid categories, or the closest match when you typed a
flag name such as go-auth.
bfs_get_schema names some categories differently: webFrontend and nativeFrontend are both
frontend there, and backendLibraries is effect. It has no entry for aiDocs, git,
install, or versionChannel. The JSON output gives each category's bfs_get_schema name as
schemaCategory.
Search across ecosystems
search matches text against option IDs, labels, and aliases in every category. Exact matches come
first, then prefix matches, then other substring matches:
bunx create-better-fullstack@latest search drizzle│ id label flag category ecosystems legacy ids
│ drizzle Drizzle --orm drizzle orm typescriptAdd --ecosystem <id> to search one ecosystem. A search with no matches exits with status 0 and
prints a notice, or an empty matches array in JSON mode.
Some categories have no dedicated flag, such as the tooling categories selected through
--part. Their rows show - as the flag.
JSON output
Pass --json to either command for machine-readable output. JSON mode writes only the JSON
document to stdout, so it is safe to pipe into jq. Errors go to stderr with a non-zero exit code.
list without a category returns the categories:
{
"ecosystem": "go",
"categories": [
{
"id": "goAuth",
"label": "Go Auth",
"schemaCategory": "goAuth",
"selectionMode": "single",
"flag": "--go-auth",
"ecosystems": ["go"],
"optionCount": 5
}
]
}list <category> returns one category object in the same shape plus an options array:
{
"ecosystem": "go",
"category": { "id": "goAuth", "label": "Go Auth", "...": "..." },
"options": [{ "id": "casbin", "label": "Casbin", "aliases": [], "flag": "--go-auth casbin" }]
}search returns the trimmed query and each match with its category and ecosystems:
{
"query": "sveltekit",
"ecosystem": null,
"matches": [
{
"id": "svelte",
"label": "SvelteKit",
"aliases": ["sveltekit"],
"flag": "--frontend svelte",
"category": "webFrontend",
"categoryLabel": "Web Frontend",
"ecosystems": ["typescript"]
}
]
}| Field | Meaning |
|---|---|
ecosystem | The --ecosystem filter, or null. |
schemaCategory | The category name bfs_get_schema accepts, or null when it has no entry. |
selectionMode | single or multiple. Multiple-select flags accept several space-separated values. |
flag | On a category, the flag name. On an option, the full argument. null when none exists. |
ecosystems | Ecosystems whose stacks use the category. |
aliases | Older IDs for the option. See below. |
Aliases are IDs an option used to have, such as sveltekit for svelte. Builder share URLs and
saved builder stacks that still contain one load as the current option, and search matches them.
create flags do not accept them: pass the value shown in flag.
AI agents get the same data from the bfs_list_options and bfs_search_options
MCP tools.
To see what one option requires and excludes, and whether it fits a stack, use
explain.