Deploy your first application on the Suga platform in just a few steps. The Suga CLI provides everything you need to build cloud-native applications with automatic infrastructure generation and multi-cloud deployment capabilities.
Prerequisites: This guide assumes you have the Suga CLI installed. If you need to install it, see our Installation Guide for platform-specific instructions.

Create Your Project

Create a new project from a template:
Create New Project
suga new my-first-app
Select a template that matches your use case:
You can make your own templates too.
Welcome to Suga, this command will help you create a project from a template.
If you already have a project, run suga init instead.

Project name: my-first-app
Template:
 suga/go-standard
  suga/python-django-pip
  suga/python-fastapi-uv
  suga/typescript-express

Template: suga/go-standard

 Project created!
Navigate to your project and install dependencies:
Navigate to Project
cd my-first-app
Install Dependencies
npm install
Your project structure will include suga.yaml for configuration, service code, and language-specific dependencies.

Design Your Architecture

Log in and open the visual editor:
Login to Suga
suga login
You’ll see a confirmation:
 Suga Logging in...

 Logged in as User
Open the visual editor:
Open Visual Editor
suga edit
The editor launches in your browser:
 Suga Editor
Opening visual editor at http://localhost:3001
Press Ctrl+C to stop the editor
Use the visual editor to design your APIs, databases, storage, and other cloud resources with drag-and-drop simplicity.Architecture Design
The editor automatically updates your suga.yaml file as you make changes.
Let’s review what the go-standard template has defined in the suga.yaml:
suga.yaml
targets:
  - suga/aws@1
name: go-standard
description: A Go web service template using the Suga framework for cloud resource access.
services:
  app:
    env:
      TEST: test
    container:
      docker:
        dockerfile: Dockerfile
        context: .
    dev:
      script: go run main.go
buckets:
  files:
    access:
      app:
        - read
        - write
entrypoints:
  ingress:
    routes:
      /:
        name: app
The template includes:
  • targets: AWS deployment configuration
  • services: Your app service with local dev script and Docker container setup
  • buckets: A files bucket that your app can read from and write to
  • entrypoints: An HTTP endpoint that routes traffic to your app

Develop Locally

Start the development server:
Start Development Server
suga dev
Your application starts with hot reload:
 Suga v1.0.0
   - App: my-first-app
   - Addr: http://localhost:50051
   - Dashboard: https://app.addsuga.com/dev

Services

 Starting [api]

Entrypoints

 Starting [main] http://localhost:3000

Use Ctrl-C to exit
Test your application:
Test Application
curl http://localhost:3000/hello
Expected response:
{"message": "Hello World"}
Services automatically restart when you update your code, providing instant feedback during development.

Deploy to Cloud

Configure your deployment targets in the visual editor or add them to suga.yaml:
suga.yaml
targets:
  - suga/aws@1
  - suga/gcp@1
The template has been set up to use AWS, you can also use GCP. These targets are officially supported.
Generate Terraform configuration:
Build Application
suga build
You’ll see the build output as a terraform stack with everything needed to deploy your application to the cloud:
 Terraform generated successfully
  output written to ./.suga/stacks/my-first-app-aws-12345

Next steps:
1. Run cd ./.suga/stacks/my-first-app-aws-12345 to move to the stack directory
2. Initialize the stack terraform init -upgrade
3. Optionally, preview with terraform plan
4. Deploy with terraform apply
Configure cloud provider credentials:
Configure AWS
aws configure
Deploy with Terraform:
Navigate to Stack
cd .suga/stacks/my-first-app-aws-*
Initialize Terraform
terraform init -upgrade
Preview Changes
terraform plan
Deploy Application
terraform apply
Confirm when prompted:
Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

Apply complete! Resources: 15 added, 0 changed, 0 destroyed.

Outputs:
api_endpoint = "https://api.my-first-app.example.com"
Review the Terraform plan carefully before applying to understand what resources will be created in your cloud account.
What you’ve accomplished:
Need help? Contact support@addsuga.com or check our GitHub.