Skip to content

Latest commit

 

History

60 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

matcha

The green-tea CLI — scaffold, run, and generate green-tea apps from a single native binary. No JS runtime required to install or operate.

Install

cargo install matcha-cli

Builds from crates.io and installs the matcha binary. Needs a Rust toolchain; takes a few seconds.

Prebuilt binary (no Rust), from the latest GitHub release:

curl -fsSL https://raw.githubusercontent.com/Expressive-Tea/matcha/main/install.sh | sh

Drops the binary in ~/.local/bin. Env vars go on the sh side of the pipe:

curl -fsSL …/install.sh | MATCHA_VERSION=v26.7.0 MATCHA_INSTALL_DIR=/usr/local/bin sh

From git (compiles the default branch):

cargo install --git https://github.com/Expressive-Tea/matcha

Usage

matcha new my-api                          # scaffold from the official starter
matcha new my-api --template-url gh:owner/repo   # scaffold from any git template
matcha run                                 # detect node/deno/bun and run in watch
matcha create controller Users             # generate + auto-wire into @Module
matcha add sse                             # add a capability (sse|stream|buffer) to your controller

The starter

matcha new <name> (no flags) scaffolds a live app: it serves an index.html with the green-tea logo and streams a rotating zen message over @Sse('/zen'). Open the browser and it's already alive — matcha run boots it.

create / add auto-wiring

create and add edit your TypeScript with tree-sitter: they insert imports and wire pieces into the right @Module array or controller. Edits are idempotent and revert themselves if they would break the file's syntax. Pass --check to create to type-check with your project's runtime afterward.

Runtime detection

matcha run picks the runtime by precedence, first match wins:

  1. matcha.tomlruntime = "node" | "deno" | "bun"
  2. deno.json / deno.jsoncdeno
  3. bun.lockb / bun.lockbun
  4. package.jsonnode

Edge is a deploy target, not a matcha run target.

License

MIT — same as the green-tea framework. Contributions require a DCO sign-off (git commit -s).

About

The green-tea CLI: scaffold a project, generate controllers, steps and providers already wired into their module, and run with your runtime detected. One native binary — no JS runtime needed to install it.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages