Forgexa CLI — command-line client for managing workspaces, projects, requirements, and agent runtimes
Project description
Forgexa CLI
Command-line client for the [Forgexa platform.
Lightweight, zero-dependency — communicates with the Forgexa server via REST API using only Python stdlib.
Installation
# From PyPI (recommended)
pip install forgexa-cli
# Or with pipx (isolated environment)
pipx install forgexa-cli
# Verify installation
forgexa version
Development Installation
# Install from source (editable mode)
git clone https://github.com/forgexa/forgexa.git
cd ai-software-factory/cli
pip install -e .
Quick Start
# Configure server (default: http://localhost:8000)
export FORGEXA_SERVER_URL=https://your-server.example.com
# Login (saves token to ~/.forgexa/token)
forgexa login
# List workspaces
forgexa workspace list
# List projects
forgexa project list --workspace <workspace-id>
# Show kanban board
forgexa board --project <project-id>
Commands
| Command | Description |
|---|---|
forgexa login |
Login and save access token |
forgexa logout |
Remove saved token |
forgexa workspace list |
List workspaces |
forgexa workspace create <name> |
Create a workspace |
forgexa project list --workspace <id> |
List projects |
forgexa project create <name> --workspace <id> |
Create a project |
forgexa requirement list --project <id> |
List requirements |
forgexa requirement create <title> --project <id> |
Create a requirement |
forgexa requirement analyze --id <id> |
Analyze a requirement |
forgexa board --project <id> |
Show kanban board |
forgexa run list --project <id> |
List executions |
forgexa run start <execution-id> |
Start an execution |
forgexa gates pending |
List pending gates |
forgexa gates approve --gate <id> |
Approve a gate |
forgexa gates reject --gate <id> |
Reject a gate |
forgexa workflow show --project <id> |
Show workflow policy |
forgexa workflow reload --project <id> |
Reload workflow |
forgexa budget --workspace <id> |
Budget overview |
forgexa daemon status |
Show daemon statuses |
forgexa daemon stop |
Stop local daemon |
forgexa runtimes list |
List runtimes |
forgexa version |
Show CLI version |
Configuration
| Variable | Default | Description |
|---|---|---|
FORGEXA_SERVER_URL |
http://localhost:8000 |
`Server base URL |
FORGEXA_TOKEN |
— | Bearer token (overrides ~/.forgexa/token) |
Output Format
forgexa workspace list # Table (default)
forgexa workspace list --format json # JSON
forgexa workspace list --format quiet # IDs only
Daemon Management
The forgexa CLI handles remote daemon queries. To start a daemon locally,
use the forgexa-daemon command from the backend package:
pip install ./backend
forgexa-daemon # starts the runtime daemon
Publishing to PyPI
Prerequisites
pip install build twine
Build & Publish
cd cli/
# Build only (creates dist/)
./scripts/publish.sh build
# Publish to TestPyPI (for testing)
./scripts/publish.sh test
# Publish to PyPI (production)
./scripts/publish.sh
Version Bumping
# Bump version (updates pyproject.toml + __init__.py)
./scripts/bump-version.sh 1.1.0
# Then commit, tag, and publish
git add -A && git commit -m "release(cli): v1.1.0"
git tag cli-v1.1.0
./scripts/publish.sh
PyPI Authentication
Configure via environment variables or ~/.pypirc:
# Using API token (recommended)
export TWINE_USERNAME=__token__
export TWINE_PASSWORD=pypi-AgEIcH...
# Or create ~/.pypirc
cat > ~/.pypirc << 'EOF'
[pypi]
username = __token__
password = pypi-AgEIcH...
[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = pypi-AgEIcH...
EOF
chmod 600 ~/.pypirc
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forgexa_cli-1.0.3.tar.gz.
File metadata
- Download URL: forgexa_cli-1.0.3.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dceaeec724e29445eb4687693ca84557aa467316aaac2969ff1cb2dc8e950f60
|
|
| MD5 |
0c5ff584437acaa929de26a0eedb2421
|
|
| BLAKE2b-256 |
6e999a9758bf77eec89eee2d6087dab774d62d99d48566da9e7d2ae9933d45b5
|
File details
Details for the file forgexa_cli-1.0.3-py3-none-any.whl.
File metadata
- Download URL: forgexa_cli-1.0.3-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6393a853ee44efc64cecb412f7ff844259918d4ecec205e49f9fa4bd64921a95
|
|
| MD5 |
f3c95e576f125f000d4564f3c1727b60
|
|
| BLAKE2b-256 |
c1e72f421a387cc7dbcd1e6edc970b82bde659807523d1e035d1423481de791d
|