Skip to content

martian56/ufazien-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Command-line interface for working with the Ufazien hosting platform.

Topics

Resources

Stars

14 stars

Watchers

1 watching

Forks

Contributors