Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Stac CLI Installer

Build, deploy, and manage Server-Driven UI projects with the Stac CLI.

Installation

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/StacDev/cli-installer/main/install.sh | bash

Windows

irm https://raw.githubusercontent.com/StacDev/cli-installer/main/install.ps1 | iex

Verify Installation

After installation, verify that Stac CLI is working:

stac --version

The CLI will be installed to ~/.stac/bin/ and automatically added to your PATH.

Available Commands

Command Description Requires Auth
login Authenticate with Google OAuth ❌
logout Clear stored authentication tokens ❌
status Show authentication status ❌
init Initialize Stac in project ✅
build Convert Dart widgets to JSON ❌
deploy Build and deploy to Stac Cloud ✅
project list List all cloud projects ✅
project create Create new cloud project ✅

Authentication

Before using most CLI commands, you'll need to authenticate with Stac Cloud.

Login

# Authenticate with Google OAuth
stac login

# This opens your browser for OAuth authentication
# Your credentials are securely stored locally

Check Status

# Check your authentication status
stac status

Logout

# Clear stored authentication tokens
stac logout

Initialize Stac

Use this to set up Stac in an existing Flutter/Dart project. It links your local app to a Stac Cloud project and scaffolds required files.

⚠️ Note: You must be authenticated (stac login) before running stac init.

# Initialize Stac in the current project
stac init

What it does

  • ✅ Creates stac/ folder for Stac DSL widgets
  • ✅ Adds lib/default_stac_options.dart with your StacOptions (e.g., projectId)
  • ✅ Updates pubspec.yaml with stac and related dependencies
  • ✅ Optionally links to an existing Stac Cloud project

Generated files

your-flutter-project/
├── lib/
│   ├── default_stac_options.dart
│   └── main.dart
├── stac/
│   └── stac_widget.dart
└── pubspec.yaml

Building Widgets

Convert Dart to JSON

# Build all widgets in current project
stac build

# Build specific project directory
stac build --project /path/to/project

# Build with validation (enabled by default)
stac build --validate

# Build with verbose output
stac build --verbose

Build Options

Option Description Default
-p, --project Project directory path Current directory
--validate Validate generated JSON true
-v, --verbose Show detailed build output false

The build command converts Stac widget definitions from the stac/ folder into JSON format in the build/ folder.

Deployment

Deploy to Stac Cloud

# Build and deploy to Stac Cloud
stac deploy

# Deploy specific project directory
stac deploy --project /path/to/project

# Skip build and deploy existing files
stac deploy --skip-build

# Deploy with verbose output
stac deploy --verbose

Deployment Options

Option Description Default
-p, --project Project directory path Current directory
--skip-build Skip building before deployment false
-v, --verbose Show detailed deployment output false

Note: By default, stac deploy automatically runs stac build before deploying. Use --skip-build to deploy existing build files without rebuilding.

Cloud Project Management

List Projects

# List all your Stac Cloud projects
stac project list

# Output as JSON format
stac project list --json

The list command shows:

  • 📋 Project name and ID
  • 📝 Project description
  • 📅 Created and updated timestamps

Create New Project

# Create a new project on Stac Cloud
stac project create --name "My App" --description "My SDUI app"

# Short form
stac project create -n "My App" -d "My SDUI app"

After creating a project, run stac init to initialize it locally.

Development Workflow

🚀 Quick Start

Here's a typical workflow to get started with Stac CLI:

# 1. Authenticate with Stac Cloud (one-time setup)
stac login

# 2. List available projects (optional)
stac project list

# 3. Navigate to your Flutter/Dart project
cd your-flutter-project

# 4. Initialize Stac in your project
stac init

# 5. Create your widget definitions in the stac/ folder
# Edit stac/your_screen.dart with your Stac widgets

# 6. Build and deploy to Stac Cloud
stac deploy

🔄 Development Cycle

Once set up, your typical development cycle will be:

# Make changes to widgets in stac/ folder
# ...

# Build and deploy changes
stac deploy

# Or build locally first to test
stac build
stac deploy --skip-build

Command Reference

Global Options

Option Description
-v, --verbose Show additional command output
--version Print tool version
--help Print usage information

About

Stac cli installer

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages