Skip to content

Latest commit

 

History

History
174 lines (122 loc) · 7.23 KB

File metadata and controls

174 lines (122 loc) · 7.23 KB

Ufazien CLI

Deploy static sites, PHP apps, and build-output projects to the Ufazien platform from your terminal — in either Python or Node.

PyPI version npm version PyPI downloads npm downloads License GitHub stars CI CI


Overview

This repository ships two officially-supported CLIs that talk to the same Ufazien deployment API:

Package Install Command Registry
ufazien-cli (Python) pip install ufazien-cli ufazien PyPI
ufazien-cli (Node) npm install -g ufazien-cli ufazienjs npm

Pick the one that fits your stack — both expose the same commands and behaviour.


Quick start

# 1. install (pick one)
pip install ufazien-cli       # → `ufazien`
npm install -g ufazien-cli    # → `ufazienjs`

# 2. authenticate
ufazien login                 # or: ufazienjs login

# 3. scaffold a project in the current directory
ufazien create                # or: ufazienjs create

# 4. ship it
ufazien deploy                # or: ufazienjs deploy

create walks you through the website name, subdomain, project type (static, php, or build), and — for PHP projects — provisions a database. deploy zips your project (respecting .ufazienignore) and uploads it to your site.


Project types

Type What it deploys Typical use
static The project root, minus paths in .ufazienignore. Plain HTML/CSS/JS sites.
php The project root, minus paths in .ufazienignore, plus an .env if you provisioned a database. PHP apps (with optional managed MySQL).
build The contents of your configured build folder (e.g. dist/, build/). Vite, React, Vue, Svelte, and other framework builds.

.ufazienignore

A gitignore-style exclude list for the deploy zip. Generated automatically for static and php projects. Supports:

  • dir/ — exclude a directory anywhere in the tree
  • *.ext — exclude files by extension
  • name or path/to/file — exclude by basename or relative path

Commands

Command Description
login Authenticate against the Ufazien API and persist a session token.
logout Clear the local session.
status Show the signed-in account and current session info.
create Interactively scaffold a new website project + register it on Ufazien.
deploy Package the current project and push it to your site.

Run --help on any command for flags.


Local development

git clone https://github.com/martian56/ufazien-cli.git
cd ufazien-cli

Python package (ufazien-cli-py/):

cd ufazien-cli-py
python -m venv venv && source venv/bin/activate   # (Windows: venv\Scripts\activate)
pip install -e ".[dev]"
ufazien --help

Node package (ufazien-cli-js/):

cd ufazien-cli-js
npm install
npm run build
node dist/cli.js --help
# or, for live reload during development:
npm run dev -- --help

Each package has its own README with package-specific details.


Built with

Python Typer Rich Requests TypeScript Node.js Commander Inquirer Chalk Axios


Contributing

Issues and pull requests are welcome. If you're filing a bug, please include:

  • which package you're using (ufazien-cli Python or Node) and its version
  • the command you ran and the output you got
  • your OS

For larger changes, open an issue first to discuss the approach.


Repo activity

Alt

Contributors

Contributors

Star history

Star History Chart


Links

License

Released under the MIT License.