PlaycademyPlaycademy

CLI

Command-line tools for building, developing, and deploying on Playcademy

Overview

The playcademy command-line interface provides everything you need to:

  • Initialize projects with configuration and integrations
  • Develop using a local backend server with hot reload
  • Deploy projects to production or staging environments
  • Manage your projects, authentication, and integrations
CLI workflow showing authentication, initialization, integrations, development, and deployment

Quick Start

The fastest way to create a new project:

bun create playcademy my-app
npm create playcademy my-app
pnpm create playcademy my-app
yarn create playcademy my-app

This scaffolds a project using your chosen project type (Vite or Godot).

Installation

Install the standalone CLI:

Command
$ curl -fsSL https://playcademy.net/cli | bash

Then verify it's working:

Command
$ playcademy --help

Key Concepts

Commands

The CLI provides commands organized into logical groups:

CategoryPurposeExample Commands
AuthenticationManage logins and profileslogin, logout, me
Project SetupInitialize config and structureinit
IntegrationsAdd backend integrationstimeback init, db init, kv init, api init
DevelopmentLocal backend serverdev, dev status, dev apply
DeploymentDeploy projects to the platformdeploy
Project ManagementManage deployed projectsprojects list, projects delete
UpgradeUpdate the CLIupgrade, upgrade 0.18.0

Configuration File

The CLI uses playcademy.config.js (or .json) to store your project's metadata:

playcademy.config.js
export default {
    name: 'My Project',
    description: 'A fun educational project',
    emoji: '🎮',
    // other config
}

This file is created as a consequence of running playcademy init.

Authentication Profiles

The CLI supports multiple authentication profiles and keeps staging/production credentials separate.

Command
$ playcademy login # defaults to staging$ playcademy login --env production # log in to production$ playcademy login --profile work # save to named profile$ playcademy deploy --profile work # deploy to named profile

This allows you to:

  1. Switch between accounts using named profiles (--profile)
  2. Use different credentials per environment without conflicts

Environments

Deploy to different environments for testing and production.

EnvironmentFlagPurpose
Staging(default)Safe testing environment
Production--env productionLive projects for users
Command
$ playcademy deploy # deploy to staging$ playcademy deploy --env production # deploy to production

Staging is Default

The CLI uses staging as a safe default


Command Categories

Getting Started

These commands help you set up and authenticate:

Command
$ playcademy login              # Authenticate with Playcademy$ playcademy me                 # View your account info$ playcademy dev apply          # Apply for developer status$ playcademy init               # Initialize project configuration

Development

Run your project backend locally with hot reload:

Command
$ playcademy dev                # Start backend dev server (port 8788)$ playcademy dev --port 9000    # Use custom port$ playcademy dev --no-reload    # Disable hot reload

See Development for details.

Deployment

Deploy your project to the Playcademy platform:

Command
$ playcademy deploy                    # Deploy to staging (default)$ playcademy deploy --env production   # Deploy to production$ playcademy deploy --dry-run          # Validate without deploying$ playcademy deploy --no-backend       # Skip backend deployment

See Deployment for the complete workflow.

Project Management

List and manage your deployed projects:

Command
$ playcademy projects list           # List all your projects$ playcademy projects delete         # Delete a project (interactive)$ playcademy projects delete [slug]  # Delete by slug

See Project Management for details.

Integrations

Add backend features to your project:

Command
$ playcademy timeback init      # Add Timeback to project$ playcademy timeback setup     # Set up Timeback resources$ playcademy timeback verify    # Verify configuration$ playcademy db init            # Add database to project$ playcademy db diff            # Show schema changes$ playcademy db reset           # Reset local database$ playcademy kv init            # Add KV to project$ playcademy kv list            # List local KV keys$ playcademy api init           # Add custom routes to project

Learn More

Check out the integration guides for details.


Getting Help

Command Help

Get help for any command:

Command
$ playcademy --help              # List all commands$ playcademy deploy --help       # Help for specific command$ playcademy timeback --help     # Help for command group

Verbose Output

Enable detailed logging for debugging:

Command
$ playcademy deploy --verbose    # Show detailed logs$ playcademy deploy --debug      # Show debug information

What's Next?

On this page