Command Reference
Every pfy command group with a one-line summary, the global flags, and a few common patterns. Each group links to its own page with flags and examples.
Command Structure
pfy [global-flags] <command> [subcommand] [flags]Global Flags
Available on all commands:
| Flag | Short | Description |
|---|---|---|
--manager | Manager server URL | |
--token | Personal Access Token | |
--insecure-skip-tls-verify | Skip TLS verification (not for production) | |
--timeout | HTTP request timeout for Manager API calls (e.g. 30s, 1m; default: 30s) | |
--output | -o | Output format for list/get commands: text (default), json, or yaml |
--ci | Mark a CI run: destructive commands require --yes, login never opens a browser | |
--verbose | -v | Print progress lines and record IDs |
--quiet | -q | Suppress headings, progress, and confirmations (data rows are still printed) |
--version | Print the CLI binary's version and exit (only in builds with a version stamped in) |
Output formats
The root --output/-o flag makes list/get commands machine-readable. In json/yaml mode, diagnostics ("Connecting to manager...") go to stderr, so stdout is a clean data stream:
pfy -o json project list | jq -r '.[].slug'
pfy -o yaml tenant list --project my-saas
pfy -o json whoamiNotes:
- Most mutating commands (creates, deletes) print human-readable text only.
- Three subcommands define their own local
--output/-owith a different value set:deployment get -o yaml|json,nomad adopt -o json|yaml, anddev seed -o text|json.ci update --output <dir>is an output directory. File-output flags elsewhere are--outor--out-dirand have no short form. --quietstill prints the data rows of list/get commands; it only drops the surrounding chatter.
Core Commands
Setup & Configuration
| Command | Description |
|---|---|
login | Authenticate with ProductifyFW manager (browser SSO by default) |
whoami | Check that the configured manager URL and token work |
logout | Remove the stored token from ~/.pfy/config.yaml |
init | Initialize new project configuration |
sync | Sync project configuration from manager |
version | Manage project version (show/set/bump) |
Resource Management
| Command | Description |
|---|---|
project | Manage projects - the top-level organization units |
tenant | Manage tenants within projects for multi-tenancy |
application | Manage project-level applications and tenant enablements |
service | Manage an application's services (its stack) |
data | Manage an application's platform-provisioned data stores |
env | Manage environments and local project.yaml aliases |
languagepack | Manage internationalization language packs |
pilet | Scaffold and upload pilet packages for microfrontends |
CI/CD & Deployment
| Command | Description |
|---|---|
ci | Generate and update CI/CD pipeline templates |
nomad | Render, adopt, and deploy Nomad jobs from the deployment spec |
deployment | Read and write a deployment's spec (get/set/snapshot/apply) |
deploy diff | Three-way drift detection: spec vs. repo artifact vs. cluster |
platform | Render and deploy the platform-core stack from install.yaml |
proxy | Inspect and drive the Manager's proxy-config sync loop |
Local Development
| Command | Description |
|---|---|
dev | Run and manage the local platform (up/down/status/seed/proxy) |
Command Categories
By Function
Setup & Configuration
login/whoami/logout- Authenticationinit- Initialize project configurationsync- Sync from managerversion- Version management
Project Hierarchy
project- Top-level organizationtenant- Multi-tenant isolationapplication- Project-level applications, enabled per tenantservice- The services inside an application's stackdata- Platform-managed postgres/redis storesenv- Environments and local aliases
Customization
languagepack- Internationalizationpilet- Microfrontend packages
CI/CD & Deployment
ci- Pipeline template generationnomad- Render/adopt/deploy application jobsdeployment- Deployment-spec scriptingdeploy diff- Drift detectionplatform- Platform-core stackproxy- Edge proxy config sync: status, drift, on-demand push
Local Development
dev- Local platform lifecycle
By Development Phase
Getting Started
# 1. Authenticate (browser SSO)
pfy login --server https://manager.example.com
# 2. Initialize project
pfy init --name my-app --language go
# 3. Generate CI/CD
pfy ci updateDevelopment
# Bump version
pfy version bump --part patch
# Push the new version to the Manager
pfy application update-version --app <slug> --project <project> --version $(pfy version show)Release & Deploy
# Bump version, regenerate CI templates, deploy to Nomad from the deployment spec
pfy version bump --part minor
pfy ci update
pfy nomad deploy --env prod --use-project-version --yesUsage Patterns
Scripting Mode
Use -o json for parseable output. --quiet suppresses normal output; it silences a command rather than making it parseable:
#!/bin/bash
pfy -o json project list | jq -e '.[] | select(.slug == "my-project")'CI/CD Mode
Use --ci in pipelines. Destructive commands (delete, data restore, un-dedicating a tenant, ...) then refuse to run without --yes instead of prompting, and login never tries to open a browser:
pfy --ci nomad deploy --env prod --use-project-version --yesGetting Help
General Help
pfy --helpCommand Help
pfy project --help
pfy project create --helpCommon Patterns
Chaining Commands
# Get project ID and create tenant
PROJECT_ID=$(pfy -o json project get --slug my-project | jq -r .id)
pfy tenant create --project-id $PROJECT_ID --slug tenant1 --name "Tenant 1"Error Handling
if pfy project create --slug test --name "Test"; then
echo "Project created successfully"
else
echo "Failed to create project"
exit 1
fiVerbose Debugging
pfy --verbose project create --slug debug --name "Debug"Next Steps
Explore detailed documentation for each command:
Setup Commands
- login - Authentication (incl. whoami/logout)
- init - Initialize project configuration
- sync - Sync from manager
- version - Version management
Resource Management
- project - Project management
- tenant - Tenant management
- application - Application management
- service - Application services
- data - Managed data stores
- env - Environments and aliases
- languagepack - Language pack management
- pilet - Pilet package management
CI/CD & Deployment
- ci - CI/CD pipeline template generation
- nomad - Nomad render/adopt/deploy
- deployment - Deployment-spec scripting
- deploy diff - Drift detection
- platform - Platform-core stack
Local Development
- dev - Local platform lifecycle
Guides
- Project Configuration - Working with project.yaml
- Version Management - Semantic versioning
- Auto-Versioning - CI/CD version automation
For additional information, use pfy --help or pfy <command> --help to see all available options.