Skip to main content

XGIC CLI

License CI PyPI Python Release

The thin modular framework behind every xgic command—one brand for humans and AI agents.

Namespace: xgic.cli · Console entry: xgic · Brand: XGIC CLI only (ADR-0005)

Standards hub: xgic/ai · README standards


Vision

XGIC products share a single CLI brand (xgic) with a thin core and domain modules. This repository is the core only: argument parsing, plugin loading, environment detection, and output helpers. Payload, Dev Container lifecycle, and GitLab ops live in separate packages so each module can version, test, and publish independently.

Humans get a stable xgic --help surface. AI agents (including Grok Build) get the same map in AGENTS.md—no inventing Make targets or host-global tooling.


Why this package exists

Benefit Detail
One entrypoint xgic everywhere; modules register via entry points
Product-agnostic core No Payload or Compose implementations here
AI + human parity Same commands in README, AGENTS, and container images
Release discipline Apache-2.0, Python 3.14+, RC → TestPyPI → PyPI
Composable stack Domain packages depend on this core, not the reverse

Ecosystem

Package Namespace Repository
Core (this repo) xgic.cli xgic/cli
Dev Container / env xgic.cli.dev xgic/dev-cli
Payload CMS xgic.cli.payload xgic/payload-cms-cli
GitLab ops xgic.cli.gitlab xgic/gitlab-cli

Architecture: ADR-0005.


Quick start

Install (PyPI)

uv pip install xgic-cli
xgic --help
xgic --version
xgic info

Development (editable)

uv pip install -e ".[dev]"
xgic --help

Typical stack install

uv pip install \
  "xgic-cli>=0.2.0" \
  "xgic-dev-cli>=0.2.0" \
  "xgic-payload-cms-cli>=0.2.0"
xgic up --help
xgic payload --help

Console commands (core)

Command Purpose
xgic --help Top-level help (includes loaded plugins)
xgic --version Core package version
xgic info Detected execution environment summary

Domain packages register additional subcommands via entry point group xgic.cli.commands.


Library API (core only)

from xgic.cli.core import EnvironmentContext, EnvironmentType
from xgic.cli.utils.output import print_info, print_error
from xgic.cli.app import CommandContext, build_parser, main
Module Role
xgic.cli.app Parser, plugin loading, dispatch
xgic.cli.core.environment Host / Dev Container / container detection
xgic.cli.utils.output Rich console helpers

Plugin entry points

[project.entry-points."xgic.cli.commands"]
my_module = "my_package.cli:register"
def register(subparsers):
    p = subparsers.add_parser("example", help="...")
    p.set_defaults(func=run_example)

Handlers may accept a CommandContext or (args, env=...).


AI agent guidance

  • Prefer xgic over ad-hoc scripts for environment and product ops.
  • Install core + needed domain modules; do not reimplement lifecycle in the app repo.
  • Destructive or credential-regenerating flows belong in domain modules with explicit confirmation.
  • Follow hub public-safe rules for any public GitHub issue/PR text.

Status and publishing

0.2.2 — errors. An unexpected error includes the exception type. MemoryError no longer prints a blank message.

0.2.1 — usage. xgic with no arguments prints usage only (no architecture epilogue). Domain modules still ship separately.

0.2.0 — thin core. Framework + environment detection + output helpers.

Publishing to PyPI: follow python-package-release.md (TestPyPI RC + smoke → PyPI via OIDC Trusted Publishing; uv build/smoke). Tags: vX.Y.ZrcN → TestPyPI; vX.Y.Z → PyPI. Requires GitHub Environments testpypi / pypi and matching Trusted Publishers on the index. The release milestone is titled X.Y.Z, matching the published version. Set it on every issue and pull request in that release. GitHub does not copy the issue milestone onto the pull request. The candidate and the final publish share it. Work tracking.

Requirements

  • Python 3.14+

License

Apache License 2.0. See LICENSE and NOTICE.
Copyright form: Copyright 2026 XGIC.

Metadata

Release files for xgic-cli 0.2.3

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-cli 0.2.3
File Size Uploaded Provenance
xgic_cli-0.2.3.tar.gz 11.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for xgic-cli 0.2.3
File Interpreter ABI Platform
xgic_cli-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 25.3 kB

Release files / xgic_cli-0.2.3.tar.gz

Download URL xgic_cli-0.2.3.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4460c7d8161cbb01bf5ead2574461db819010e0cdf43d18d801d3b5dd440f3e5
BLAKE2b-256 checksum
How to use checksums
74246e9458bb611a78428089b7f7d8c571ed8efdc344af1ba1ee72765aacfe48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / xgic_cli-0.2.3-py3-none-any.whl

Download URL xgic_cli-0.2.3-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
effdfe36e88bb067604015139726fbe59e8c7b743069283547455e30b71060a8
BLAKE2b-256 checksum
How to use checksums
da0edc5164a9b00612f13000e866d8e9fc601465e3c289ed90dc6f2751131792
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Security for xgic-cli 0.2.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for xgic_cli-0.2.3.tar.gz

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 Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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