XGIC Dev Container CLI
Product-agnostic Docker Compose and Dev Container lifecycle for the modular XGIC CLI.
Namespace: xgic.cli.dev · Console entry: xgic (plugins via entry points) · Brand: XGIC CLI only (ADR-0005)
Standards hub: xgic/ai
Vision
Environment orchestration should be predictable, documented, and AI-operable. This package owns the generic lifecycle that every XGIC Dev Container product needs—up, down, check, logs, shell—without embedding Payload-specific or other product logic.
Humans get a stable command map. AI agents get the same map in AGENTS.md instead of inventing Make targets or host-global installs.
Why this module exists
| Benefit | Detail |
|---|---|
| Separation of concerns | Core CLI stays thin; product commands live in domain modules |
| Reuse across products | Same lifecycle for Payload, GitLab tooling, and future stacks |
| Configuration over hard-coding | Compose file, project, service, and profile via flags or env |
| Safe defaults for agents | Destructive actions require explicit confirmation (--yes) |
| Open-source rigor | Apache-2.0, Python 3.14+, PyPI release discipline |
Ecosystem
| Package | Role |
|---|---|
| xgic/cli | Thin core framework (xgic) |
| This repo | Dev Container / Docker Compose lifecycle (xgic.cli.dev) |
| xgic/payload-cms-cli | Payload product commands (xgic payload …) |
| xgic/payload-cms-dev | Payload Dev Container image producer |
| xgic/payload-cms | Payload end-user template (consumes GHCR image) |
Quick start
Install (PyPI)
uv pip install "xgic-dev-cli>=0.2.1"
xgic --help
xgic up --help
Development (editable monorepo layout)
uv pip install -e ../cli
uv pip install -e ".[dev]"
xgic --help
xgic up --help
Typical session
export XGIC_COMPOSE_FILE=.devcontainer/docker-compose.yml
export XGIC_COMPOSE_PROJECT=my-project
export XGIC_PRIMARY_SERVICE=app
xgic up --profile postgres
xgic check
xgic logs
xgic down
Console commands
Registered on the core xgic entrypoint:
| Command | Purpose |
|---|---|
xgic up |
Start Compose services (detached) |
xgic down |
Stop services (volumes preserved) |
xgic build [--no-cache] |
Build or rebuild images |
xgic logs |
Follow service logs |
xgic shell |
Shell in primary service (--service if unset) |
xgic clean --yes |
Destructive: volumes + .devcontainer/.env |
xgic check [--json] |
Services + environment diagnostic |
xgic env [--json] |
Environment status (no secret regeneration) |
Common flags / environment
| Flag | Env var | Default |
|---|---|---|
--compose-file |
XGIC_COMPOSE_FILE |
.devcontainer/docker-compose.yml |
--project |
XGIC_COMPOSE_PROJECT |
Compose file name: (else xgic-dev) |
--service |
XGIC_PRIMARY_SERVICE |
devcontainer.json service (else none) |
--profile |
XGIC_COMPOSE_PROFILE |
(none; used by up) |
Note: Payload-specific env regenerate / setup lives in payload-cms-cli (xgic payload env, xgic payload setup, …).
Library API
from xgic.cli.core import EnvironmentContext
from xgic.cli.dev import DockerComposeController
env = EnvironmentContext.detect()
docker = DockerComposeController(
env=env,
compose_file=".devcontainer/docker-compose.yml",
project_name="my-project",
primary_service="app",
)
docker.up(profile="postgres")
Requirements
- Python 3.14+
xgic-cli≥ 0.2.1- Docker / Docker Compose on the host when running lifecycle commands
Publishing
Follow python-package-release.md.
Publish after xgic-cli for stack releases. Tags: vX.Y.ZrcN → TestPyPI; vX.Y.Z → PyPI.
Working with AI assistants
- Prefer documented
xgiclifecycle commands over ad-hocdocker composeone-liners in agent prompts. - Point agents at AGENTS.md and the hub catalog.
- Public issues/PRs: BASE-STANDARDS public-safe gate.
Contributing
PRs with human UI review only. Conventional Commits; labels required. See CONTRIBUTING.md.
License
Apache License 2.0. See LICENSE and NOTICE.
Copyright form: Copyright 2026 XGIC.
XGIC — Modular CLI architecture for open-source developer platforms: thin core, domain modules, AI-operable commands.
Release files for xgic-dev-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_dev_cli-0.2.1.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xgic_dev_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.0 kB
Release files / xgic_dev_cli-0.2.1.tar.gz
| Download URL | xgic_dev_cli-0.2.1.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc42ba201ce2ad5cc03703a88073a3b0a5de13686ee168dffa0e43f53ace51b9
|
|
BLAKE2b-256 checksum How to use checksums |
aa27e22f826af408e6ba0a9d10762899afa9aeb4cdc0a5b180f7672666fa8fc5
|
| 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 5, 2026.
Transparency logRelease files / xgic_dev_cli-0.2.1-py3-none-any.whl
| Download URL | xgic_dev_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 16.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef1235ed98ab2bcd37bd13e33c4a17924e3773fc20d495d5e8efe0df8c1ea1fb
|
|
BLAKE2b-256 checksum How to use checksums |
968613e5d2a9aca9708b22542aae3acbe298801f4c672770e881126c01812f1b
|
| 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 5, 2026.
Transparency log