Need help? Join our Discord — ask questions, share projects, and connect with the community.

Learn Quill

A programming language you can read like plain English — no experience required.

What is Quill?

Quill is a programming language designed for people who have never written code before. Instead of cryptic symbols and jargon, Quill uses everyday English words. You say say to print something, is to create a variable, and to to define a function. If you can read a sentence, you can read Quill code.

Under the hood, Quill translates your code into JavaScript and runs it — so you get the power of a real programming language with the readability of English.

Quill is built by Trade Buddy and comes with a growing ecosystem: a built-in debugger, concurrency primitives, a standard library with auth/ORM/validation/logging packages, project configuration via quill.toml, and CI/CD support out of the box.

Quick Start — your first program in 3 steps
  1. Install Quill:
    npm install -g @tradebuddyhq/quill
  2. Create a file called hello.quill with this content:
    say "Hello, World!"
  3. Run it:
    quill run hello.quill

    You should see: Hello, World!

Try Quill in Your Browser →

No installation needed — write and run Quill code instantly in the online playground.

Your Learning Path

Follow this path from zero to mastery. Each step builds on the last.

1
Install Quill (5 minutes)

Get Quill on your computer and run your first program. Then try quill new to scaffold a project.

2
Learn Quill Tutorial (2–4 hours)

The main course. 10 chapters that take you from "Hello World" to building web servers, each with a hands-on project. Or run quill learn for a quick interactive version in your terminal.

3
Language Reference (bookmark for later)

The complete guide to every language feature. Come back here when you need to look something up.

4
Patterns & Best Practices (intermediate)

Write clean, idiomatic, professional Quill code. Error handling, async patterns, security, and performance.

5
Debugging & Common Mistakes (essential)

Learn to read error messages, use the debugger, and avoid the 15 most common pitfalls.

6
Build Something Real (pick your path)

Web Server · Discord Bot · Mobile App · Cloudflare Worker · AI App

Or, if you prefer to jump around, use the cards below to go straight to what interests you.

Explore the Documentation

Getting Started

Install Quill on your computer, set up your editor, and run your very first program. The best place to begin.

Language Guide

The complete guide to writing Quill code: variables, functions, loops, conditions, classes, concurrency, and everything in between.

Standard Library

Every built-in function documented with clear descriptions and examples. Math, strings, lists, files, HTTP, auth, ORM, validation, logging, and more.

Tools and CLI

How to use Quill's built-in tools: run, build, format, check, test, debug, and manage packages — plus quill new to scaffold projects, quill share to publish, and quill test --watch for live feedback.

Testing

Write and run tests using Quill's built-in test and expect keywords to make sure your code works correctly.

Examples

Complete programs you can read, run, and learn from — from simple Hello World to real-world projects.

Showcase: API Testing

See a real-world test suite that validates the Trade Buddy marketplace API — 38 tests written entirely in Quill.

Discord Bots

Build Discord bots with readable Quill syntax. Scaffold a project with one command, handle events, and deploy.

Learn Quill (Tutorial)

10 chapters, 10 projects. Go from zero to building web servers, components, and test suites — step by step.

Patterns & Best Practices

Write clean, professional code. Error handling, async patterns, security, performance, and idiomatic Quill.

Debugging & Common Mistakes

Read error messages, use the debugger, and avoid the 15 most common pitfalls every Quill programmer hits.

Expo / React Native

Build mobile apps for iOS and Android using Quill's component syntax with Expo Go.

Drawing & Charts

Create visuals with built-in functions like drawCircle(), chart(), and more — no external libraries needed.

Regex & Patterns

Search and transform text with regex(), matchGroups(), and pattern matching on strings.

Number Formatting

Display numbers beautifully with formatNumber(), currency(), and percent().

Your First Program: a complete walkthrough

Let's walk through creating and running your very first Quill program from scratch. No prior experience needed.

Step 1: Create a file.

Open any text editor (Notepad, TextEdit, VS Code — anything works). Create a new file and save it as hello.quill. The .quill part at the end tells your computer this is a Quill program.

Step 2: Write your code.

Type the following line into your file:

say "Hello, World!"

That is it — one line. The word say tells Quill to print something to the screen. The text in quotes is what gets printed.

Step 3: Run it.

Open your terminal (also called the command line or command prompt) and type:

quill run hello.quill

Step 4: See the result.

Hello, World!

That text appears in your terminal. Congratulations — you just ran your first program.

What happens behind the scenes: When you type quill run hello.quill, Quill reads your file, translates the English-like code into JavaScript (a language computers understand natively), and then runs it. You never need to see or write JavaScript yourself — Quill handles all of that for you.

What to do next: Try changing the text inside the quotes and running it again. Then move on to the Language Guide to learn about variables, functions, and more.

A quick taste of Quill

Here is a bigger example that shows off several features of the language: variables, functions, loops, lists, and pattern matching.

-- Variables: just use "is" to store a value
name is "Quill"
version is 1
say "Welcome to {name} version {version}!"

-- Functions: use "to" to define reusable blocks of code
to greet person:
  say "Hello, {person}!"

-- Lists: group values together with square brackets
friends are ["Alice", "Bob", "Charlie"]

-- Loops: do something for each item in a list
for each friend in friends:
  greet(friend)

-- Pattern matching: handle different cases cleanly
to describe age:
  match age:
    when 0 to 12:
      give back "child"
    when 13 to 17:
      give back "teenager"
    when 18 to 64:
      give back "adult"
    otherwise:
      give back "senior"

-- Try it out
say describe(25)
say describe(8)
say describe(70)

Output:

Welcome to Quill version 1!
Hello, Alice!
Hello, Bob!
Hello, Charlie!
adult
child
senior

If that code made sense to you just by reading it, you are going to love Quill. Head over to the Language Guide to learn each feature in detail.