XGIC Payload CMS CLI
Payload CMS product commands for the modular XGIC CLI.
Namespace: xgic.cli.payload · Console group: xgic payload … · Brand: XGIC CLI only (ADR-0005)
Standards hub: xgic/ai
Vision
Payload application teams—and the AI agents that help them—need a small, stable command surface for project ensure, environment status, smart dev start, and safe reset. This module owns that product surface. Generic Compose lifecycle stays in dev-cli; the Dev Container image is built in payload-cms-dev; applications start from payload-cms.
One brand (xgic), clear ownership, and dry-run-friendly destructive paths.
Why this module exists
| Benefit | Detail |
|---|---|
| Domain clarity | Nested under xgic payload—no clash with generic xgic up / down |
| AI + human parity | Same commands in READMEs and AGENTS.md |
| Safe operations | Reset and regenerate paths support explicit confirmation / dry-run patterns |
| Composable stack | Depends on xgic-cli + xgic-dev-cli; ships on PyPI for image and host installs |
| Open-source rigor | Apache-2.0, Python 3.14+, RC → TestPyPI → PyPI |
Ecosystem
| Package / repo | Role |
|---|---|
| xgic/cli | Thin core framework (xgic) |
| xgic/dev-cli | Dev Container / Docker Compose lifecycle |
| This repo | Payload CMS product module (xgic.cli.payload) |
| xgic/payload-cms-dev | Dev Container image producer (ghcr.io/xgic/payload-cms-dev) |
| xgic/payload-cms | End-user template (recommended app start) |
Quick start
Install (PyPI)
uv pip install \
"xgic-cli>=0.2.0,<0.3" \
"xgic-dev-cli>=0.2.0,<0.3" \
"xgic-payload-cms-cli>=0.2.1,<0.3"
xgic payload --help
Development (editable)
uv pip install -e ../cli
uv pip install -e ../dev-cli
uv pip install -e ".[dev]"
xgic payload --help
Typical Payload session (inside a Dev Container)
xgic check
xgic payload env --regenerate --yes # once
xgic payload setup # scaffold app (layout from config)
xgic up --profile postgres # DB if needed
xgic payload dev
Prefer the end-user template for application work: payload-cms.
Console commands
All product commands nest under xgic payload:
| Command | Purpose |
|---|---|
xgic payload dev |
Primary daily command — smart start (up if needed, DB check, pnpm dev) |
xgic payload setup [--quiet] |
Ensure Payload project directory (idempotent) |
xgic payload env [--json] |
Product env status (project name, .env, services) |
xgic payload env --regenerate --yes |
Fresh credentials in .devcontainer/.env |
xgic payload schema |
Run template schema generator when present |
xgic payload reset |
Fast targeted reset (project folder + active DB volume) |
Generic lifecycle (xgic up / down / check / env) lives in dev-cli. Use xgic payload env for Payload credentials and product status.
Setup: automatic vs manual
| Mode | Guidance |
|---|---|
| Automatic | Producer/image postStart may call xgic payload setup via a thin shell wrapper (idempotent). |
| Manual / testing | After xgic payload reset --yes, or when validating scaffold config—not a “daily” app ritual. |
Always prefer xgic payload reset --dry-run before destructive reset.
Historical command map (xde → XGIC CLI)
Living brand is XGIC CLI only. Historical map for agents migrating old notes:
Historical (xde) |
XGIC CLI |
|---|---|
xde dev |
xgic payload dev |
xde setup payloadcms |
xgic payload setup |
xde schema |
xgic payload schema |
xde env --regenerate |
xgic payload env --regenerate --yes |
xde reset |
xgic payload reset |
xde up / down / … |
xgic up / down / … (dev-cli) |
Library API
from xgic.cli.payload import (
ensure_payload_project,
generate_fresh_env_content,
make_payload_docker_controller,
get_payload_project_name,
)
Requirements
- Python 3.14+
xgic-cli≥ 0.2.0xgic-dev-cli≥ 0.2.0
Publishing
Follow python-package-release.md.
Publish after xgic-cli and xgic-dev-cli for stack releases. Tags: vX.Y.ZrcN → TestPyPI; vX.Y.Z → PyPI.
Working with AI assistants
High-signal prompts:
- “Run
xgic payload env(no secrets) and recommend whether to start Postgres.” - “Start with
xgic payload devand report the listen URL.” - “Show
xgic payload reset --dry-runbefore any reset.”
Ownership:
| Change | Repository |
|---|---|
xgic payload … behavior |
This repo |
xgic up / down / check |
dev-cli |
| Image / Dockerfile | payload-cms-dev |
| App template pin / docs | payload-cms |
Public-safe gate: BASE-STANDARDS.
Contributing
PRs with human UI review only. Conventional Commits; labels required. See CONTRIBUTING.md and AGENTS.md.
License
Apache License 2.0. See LICENSE and NOTICE.
Copyright form: Copyright 2026 XGIC.
XGIC — Modular CLI for open-source platforms: thin core, domain modules, and AI-operable Payload workflows.
Release files for xgic-payload-cms-cli 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xgic_payload_cms_cli-0.2.1.tar.gz | 18.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xgic_payload_cms_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.9 kB
Release files / xgic_payload_cms_cli-0.2.1.tar.gz
| Download URL | xgic_payload_cms_cli-0.2.1.tar.gz |
|---|---|
| Size | 18.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fed6a4c05eb2ea9ee7afdf4bad3b33ab710cb25928e72d04eee0de6640f8ce69
|
|
BLAKE2b-256 checksum How to use checksums |
5d069fe1fe0713de17029c00b316e5b844db15dda28ff3e46c3d4d42d7077471
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency logRelease files / xgic_payload_cms_cli-0.2.1-py3-none-any.whl
| Download URL | xgic_payload_cms_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 24.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
172977db6a6ddc0f20647ae1484a047c33f0189ada8f05d374933a990ab7ba52
|
|
BLAKE2b-256 checksum How to use checksums |
1c3a9fa9ac007168115d6fcd313ba4685613eb12c7a937ff61f8e78b250f0443
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency log