Command Reference
Complete reference for all tinykit-cli CLI commands
The tinykit-cli CLI provides five commands for managing TinyKit projects and authentication.
Global Options
These options are available for all commands:
| Option | Description |
|---|---|
--verbose | Enable verbose output for debugging |
-v, --version | Show CLI version number |
-h, --help | Show help information |
init
Create a new TinyKit project. This is the default command when running npx tinykit-cli.
Syntax
npx tinykit-cli [project-name] [options]
npx tinykit-cli init [project-name] [options]Arguments
| Argument | Description |
|---|---|
project-name | Name of the project directory (optional, will prompt if not provided) |
Options
| Option | Description |
|---|---|
--product <name> | Skip product selection and use specified product |
--skip-prereqs | Skip system prerequisites check |
-f, --force | Overwrite existing directory without prompting |
Example
# Interactive mode
$ npx tinykit-cli
████████╗██╗███╗ ██╗██╗ ██╗██╗ ██╗██╗████████╗
╚══██╔══╝██║████╗ ██║╚██╗ ██╔╝██║ ██╔╝██║╚══██╔══╝
██║ ██║██╔██╗ ██║ ╚████╔╝ █████╔╝ ██║ ██║
██║ ██║██║╚██╗██║ ╚██╔╝ ██╔═██╗ ██║ ██║
██║ ██║██║ ╚████║ ██║ ██║ ██╗██║ ██║
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
ℹ Checking system prerequisites...
✓ Git 2.39.3
✓ Node.js 22.0.0
✓ Bun 1.1.0
✓ Prerequisites check passed!
? Enter project name: › my-saas-app
✓ Already authenticated.
? Select a product:
❯ TinyKit Pro - Full-featured SaaS template
TinyKit Lite - Lightweight starter
TinyKit Dirs - Directory template
ℹ Checking access to tinykit-pro...
✓ Access verified for tinykit-pro.
ℹ Downloading tinykit-pro...
████████████████████████████████████████ 100% | 2.5 MB
✓ Downloaded tinykit-pro v1.0.0
┌─────────────────────────────────────────────────┐
│ Project created successfully! │
│ │
│ Next steps: │
│ cd my-saas-app │
│ bun install │
│ bun setup │
│ bun dev │
└─────────────────────────────────────────────────┘# Non-interactive with all options
$ npx tinykit-cli my-app --product tinykit-pro --force --skip-prereqsWorkflow
- Show Banner: Displays the TinyKit ASCII banner
- Check Prerequisites: Validates Git, Node.js, and Bun (unless
--skip-prereqs) - Get Project Name: Uses argument or prompts interactively
- Validate Directory: Checks if directory exists, prompts to overwrite or fails
- Authenticate: Checks for valid token, initiates OAuth flow if needed
- Select Product: Uses
--productflag or shows interactive selection - Verify Access: Confirms user has access to the selected product
- Download: Streams and extracts the product archive with progress
- Complete: Shows next steps for getting started
login
Authenticate with TinyKit via browser-based OAuth.
Syntax
npx tinykit-cli login [options]Options
| Option | Description |
|---|---|
-f, --force | Force re-authentication even if already logged in |
Example
$ npx tinykit-cli login
ℹ Opening browser for authentication...
If the browser doesn't open, check your terminal for the URL.
✓ Welcome, John Doe!
Email: john@example.com
ℹ You can now download TinyKit products with 'tinykit init'.If already logged in:
$ npx tinykit-cli login
── Current Session ────────────────────────────────
Email: john@example.com
Name: John Doe
? Would you like to log in with a different account? › No
ℹ Keeping existing session.Workflow
- Check Existing Token: Looks for stored credentials
- Validate Token: If found, verifies token is still valid with API
- Show Current User: If valid, displays current session info
- Prompt for Re-auth: Asks if user wants to switch accounts
- OAuth Flow: Opens browser, starts local callback server
- Store Token: Saves new token securely in OS keychain
logout
Clear stored authentication credentials.
Syntax
npx tinykit-cli logoutExample
$ npx tinykit-cli logout
? Are you sure you want to log out? › Yes
✓ Successfully logged out.If not logged in:
$ npx tinykit-cli logout
ℹ You are not currently logged in.Workflow
- Check Token: Verifies if user is currently logged in
- Confirm Logout: Prompts for confirmation
- Clear Credentials: Removes token from keychain and file storage
whoami
Display current user information and product access.
Syntax
npx tinykit-cli whoamiExample
$ npx tinykit-cli whoami
── Account ────────────────────────────────────────
Email: john@example.com
Plan: Subscription
Access Expires: January 15, 2026
── Product Access ─────────────────────────────────
✓ tinykit-pro (v1.2.0)
✓ tinykit-lite (v1.0.0)
✗ tinykit-dirs (no access)If not logged in:
$ npx tinykit-cli whoami
⚠ Not logged in
ℹ Run 'tinykit login' to authenticate.Output Details
| Field | Description |
|---|---|
| Your registered email address | |
| Plan | Free, One-time Purchase, or Subscription |
| Access Expires | Subscription/license expiration date (if applicable) |
| Product Access | List of products with access status and versions |
update
Check for and install CLI updates from npm.
Syntax
npx tinykit-cli update [options]Options
| Option | Description |
|---|---|
-c, --check | Only check for updates, don't install |
Example
Check for updates:
$ npx tinykit-cli update --check
████████╗██╗███╗ ██╗██╗ ██╗██╗ ██╗██╗████████╗
...
⠋ Checking for updates...
✓ Version check complete
Current version: 1.0.0
Latest version: 1.1.0
A new version is available: 1.0.0 → 1.1.0
ℹ Run 'tinykit update' to install the update.Install update:
$ npx tinykit-cli update
Current version: 1.0.0
Latest version: 1.1.0
A new version is available: 1.0.0 → 1.1.0
? Update tinykit-cli to 1.1.0? › Yes
ℹ Installing update using bun...
bun add -g tinykit-cli@latest
✓ Successfully updated to 1.1.0!
┌───────────────────────────────────────────────────┐
│ Update Complete │
│ │
│ The update has been installed globally. │
│ Run 'tinykit --version' to verify the new version.│
└───────────────────────────────────────────────────┘Package Manager Detection
The update command automatically detects your package manager:
| Package Manager | Install Command |
|---|---|
| Bun | bun add -g tinykit-cli@latest |
| pnpm | pnpm add -g tinykit-cli@latest |
| Yarn | yarn global add tinykit-cli@latest |
| npm | npm install -g tinykit-cli@latest |