npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@tacobase/cli

v0.1.4

Published

CLI tool for managing tacobase instances

Readme


npm install -g @tacobase/cli

Quick start

taco login                        # Authenticate
taco init my-app --template next  # Scaffold a new project
cd my-app && npm install
taco dev --with-app               # Postgres + dev server, one command

🌮 Wrapped. You're building.


Table of Contents


taco login

Authenticate with tacobase. Opens a browser session to sign in.

taco login

Your auth token is stored in ~/.taco/config.json. Sign in once, taco forever.


taco init

Scaffold a new tacobase project. Creates a cloud instance, generates your API key, and optionally sets up a framework template.

taco init my-project                 # Interactive template picker
taco init my-app --template next     # Next.js + App Router
taco init my-app --template react    # React + Vite
taco init my-app --template vue      # Vue
taco init my-app --template svelte   # Svelte

What happens:

  1. Creates a tacobase instance in the dashboard
  2. Generates an API key (tbk_...)
  3. Writes .env.local with TACOBASE_URL and TACOBASE_API_KEY
  4. Scaffolds your project with the selected framework template

Options:

  • -t, --template <template> — Framework template (next, react, vue, svelte)

taco dev

Spins up a local Postgres instance via Docker. Your database, local, zero config.

taco dev                         # Postgres on :5432
taco dev --with-app              # Postgres + npm run dev
taco dev --run "vite"            # Postgres + custom app command
taco dev -p 9090 --run "vite"   # Custom port + custom command

What it does:

  1. Starts a postgres:16 Docker container named tacobase-dev-postgres
  2. Prints your local DATABASE_URL
  3. Injects DATABASE_URL and DATABASE_URL_UNPOOLED into your app process
  4. Tears everything down on Ctrl+C — clean exit, no leftovers

Options:

  • -p, --port <port> — Postgres port (default: 5432)
  • -a, --with-app — Also run npm run dev
  • -r, --run <command> — Custom command to start your app

Prerequisite: Docker Desktop must be installed and running.


taco typegen

Generate TypeScript types from your live collection schemas. Run once, get autocomplete forever.

taco typegen                          # → ./src/types/tacobase.ts
taco typegen --output ./types/db.ts   # Custom output path
taco typegen --watch                  # Auto-regenerate on schema changes
taco typegen --watch --interval 10    # 10-second poll interval

Example output:

export interface PostsRecord extends BaseRecord {
  title: string;
  content: string;
  author: string;
  published: boolean;
}

export type CollectionName = 'posts' | 'users' | 'comments';

Comes with a typed db instance — zero extra setup:

import { db } from './src/types/tacobase'

const posts = await db.collection('posts').getList(1, 20)
//                                ^-- autocomplete  ^-- PostsRecord[]
posts.items[0].title  // ✓ typed

Options:

  • -o, --output <path> — Output file path (default: ./src/types/tacobase.ts)
  • -i, --instance <id> — Instance ID (defaults to current project)
  • -w, --watch — Watch for schema changes and regenerate
  • --interval <seconds> — Poll interval in watch mode (default: 5)

taco status

Check what's cooking with your current project.

taco status
taco status --instance <instance-id>

Options:

  • -i, --instance <id> — Instance ID (defaults to current project)

taco logs

Tail your project logs. Great for watching things go sideways in real time.

taco logs                   # Last 100 lines
taco logs --tail 50         # Last 50 lines
taco logs --follow          # Stream in real-time
taco logs --instance <id>   # Specific project

Options:

  • -n, --tail <lines> — Number of lines (default: 100)
  • -f, --follow — Stream logs in real-time
  • -i, --instance <id> — Instance ID

taco seed

Seed your collections with data. Point at a file, run it, done.

taco seed                          # Auto-detects tacobase.seed.{ts,js,json}
taco seed --file ./data/seed.json  # Explicit file
taco seed --reset                  # Wipe existing data first, then seed
taco seed --reset --file seed.ts

Options:

  • -f, --file <path> — Path to seed file
  • -r, --reset — Clear existing data before seeding
  • -i, --instance <id> — Instance ID

taco doctor

Runs diagnostic checks. Something's not working? Start here.

taco doctor
taco doctor --instance <id>

taco dashboard

Open your project dashboard in the browser.

taco dashboard
taco dashboard --instance <instance-id>

Configuration

Stored in ~/.taco/config.json:

{
  "authToken": "your-auth-token",
  "currentInstance": "inst_abc123",
  "instances": {
    "inst_abc123": {
      "id": "inst_abc123",
      "name": "my-project",
      "url": "https://my-project.tacobase.dev",
      "apiKey": "tbk_abc123..."
    }
  }
}

Framework templates

Next.js

App Router, TypeScript, @tacobase/client and @tacobase/react pre-wired.

taco init my-app --template next
cd my-app && npm install && npm run dev

React (Vite)

React + Vite + TypeScript, tacobase ready to go.

taco init my-app --template react
cd my-app && npm install && npm run dev

Includes @tacobase/client, @tacobase/react, src/tacobase.ts, and .env pre-filled.

Vue, Svelte — coming soon 🌮


Troubleshooting

"You must be logged in" → Run taco login.

"No instance found" → Run taco init or pass --instance <id>.

"Docker not found" / "Docker daemon is not running" → Install Docker Desktop and make sure it's running before taco dev.

Types not updating → Run taco typegen after modifying collection schemas. Or run with --watch so it stays current automatically.


Related packages

| Package | Description | |---|---| | @tacobase/client | Core SDK — CRUD, auth, realtime, storage | | @tacobase/react | React hooks — useAuth, useCollection, useRealtime | | @tacobase/taco | Drop-in AI context — installs client + writes TACOBASE.md | | @tacobase/mcp-server | MCP server — let your AI manage schema via natural language |


tacobase.dev · docs · github · issues

License

MIT