Getting Started

Getting Started

Welcome to Flowa! This guide will help you install Flowa and write your first program.

Installation

One-Command Install (Mac/Linux)

The easiest way to install Flowa:

./install.sh

This builds and installs the Flowa runtime to /usr/local/bin/flowa.

Homebrew (macOS)

If you're on macOS, you can install via Homebrew.

Note: The main Flowa repository (senapati484/flowa) is private, but you can still download and install Flowa because our Homebrew tap (senapati484/homebrew-flowa) is public.

brew tap senapati484/flowa
brew install flowa

Windows

Run the PowerShell script:

.\scripts\install_windows.ps1

Available Modules

Available modules: fs, json, auth, jwt, mail, sqlite, http, cron, log, os, config

Build from Source

Prerequisites: cmake, clang++ (supporting C++17), sqlite3.

git clone https://github.com/senapati484/flowa.git
cd flowa
./build.sh

Verify Installation

flowa --version

Editor Support

We have an official Visual Studio Code extension available (v0.1.1) that provides syntax highlighting and the official file icon.

Check out the Tooling page for installation instructions.

Your First Flowa Program

Hello World

Create a file called hello.flowa:

print("Hello, Flowa!");

Run it:

flowa hello.flowa

You should see:

Hello, Flowa!

Variables and Basic Operations

Create basics.flowa:

// Variables are dynamically typed
let name = "Alice";
let age = 30;
let pi = 3.14159;
let active = true;
 
print("Name: " + name);
print("Age: " + tostring(age));
print("Active: " + tostring(active));
 
// Math operations
let a = 10;
let b = 3;
 
print("Sum: " + tostring(a + b));
print("Product: " + tostring(a * b));
print("Division: " + tostring(a / b));

Run it:

flowa basics.flowa

Your First func

Create greet.flowa:

func greet(name) {
    return "Hello, " + name + "!";
}
 
func add(a, b) {
    return a + b;
}
 
let message = greet("Alice");
print(message);
 
print("5 + 3 = " + tostring(add(5, 3)));

Interactive Environment

Configure environment variables in .env:

APP_NAME=MyApp
APP_VERSION=1.0
DEBUG=true
USER_NAME=Alice

Access via env.VARIABLE_NAME in your code.