XGIC CLI
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
xgicover 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.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.
Requirements
- Python 3.14+
License
Apache License 2.0. See LICENSE and NOTICE.
Copyright form: Copyright 2026 XGIC.
Release files for xgic-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_cli-0.2.1.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xgic_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.3 kB
Release files / xgic_cli-0.2.1.tar.gz
| Download URL | xgic_cli-0.2.1.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c2f166b70fe84f9d7ca96e6e63708699fa6a82a7122a544128bfbaaa0fb1931
|
|
BLAKE2b-256 checksum How to use checksums |
cca198cbfe230e8bd081e4eaf1a1368490180f570b48524ab688e129a4e867c3
|
| 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 Sep 4, 2026.
Transparency logRelease files / xgic_cli-0.2.1-py3-none-any.whl
| Download URL | xgic_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6af6142f1c0f26980d0360adb9707644d006bccaf334e6c1fbd0d7791b5ae65c
|
|
BLAKE2b-256 checksum How to use checksums |
9e2e3c1bbe92e8de08da01f8ff8f3b91e0cb36eaa8a9ac47e0d768d701226dad
|
| 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 Sep 4, 2026.
Transparency log