Skip to main content

XGIC Payload CMS CLI

License PyPI Python CI Release Producer

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.4,<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)

First session (one setup command — creates .devcontainer/.env if missing, starts the DB profile, scaffolds the app):

xgic payload setup
xgic payload dev

Daily (after the app exists):

xgic payload dev

Optional: xgic payload env (status), xgic payload env --regenerate --yes (rewrite credentials in .devcontainer/.env and sync the app .env — not required for first setup). Regenerate does not delete Compose DB volume data; it also does not change the password already stored in that volume—recreate the volume (xgic payload reset --yes, destructive) or update the DB role to match. Non-destructive live rotation is tracked separately.

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] First-run one-shot: env (if missing) + DB profile + scaffold (idempotent). pnpx is invoked with --allow-build=@swc/core (and other native packages) so pnpm 10+ can run generator install scripts.
xgic payload env [--json] Product env status (project name, .env, services)
xgic payload env --regenerate --yes Rewrite .devcontainer/.env (DATABASE_URL) and sync the app .env (optional; setup creates env when absent). Does not delete DB volume data; does not update the password inside an existing volume
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.0
  • xgic-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 dev and report the listen URL.”
  • “Show xgic payload reset --dry-run before 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.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xgic-payload-cms-cli 0.2.4
File Size Uploaded
xgic_payload_cms_cli-0.2.4.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xgic-payload-cms-cli 0.2.4
File Interpreter ABI Platform
xgic_payload_cms_cli-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 53.0 kB

Release files / xgic_payload_cms_cli-0.2.4.tar.gz

Download URL xgic_payload_cms_cli-0.2.4.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
78d8acbbee842fe0c45eeb0302b17e3e7f39c0b0b62c5f3922ab6f2177b85e34
BLAKE2b-256 checksum
How to use checksums
8dd9ad4467ecd1c7753283f26b4eff882af741c9cb927be7fa3395813c8c92a0
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 31, 2026.

Transparency log

Release files / xgic_payload_cms_cli-0.2.4-py3-none-any.whl

Download URL xgic_payload_cms_cli-0.2.4-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60b690711520cbe913ec6de57dcd8f9f5d4453ab6d322da37be04235264ee392
BLAKE2b-256 checksum
How to use checksums
df0e9c6c41beb5e3d24583f02d77a2c5e29935c1278a103c6f26dc30220b7666
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 31, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.6

2 release files

0.2.5

2 release files

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page