Skip to main content

devhub

PyPI Changelog Tests License

CLI interface to devhub

Installation

Install this tool using pip:

pip install devhub-cli

Or just install and execute via uvx

uvx devhub-cli

Usage

For help, run:

devhub --help

You can also use:

python -m devhub --help

Via uvx

uvx devhub-cli

Theme Commands

The DevHub CLI provides powerful theme management capabilities for synchronizing and managing your DevHub theme components locally.

Initial Setup

Before using theme commands, you need to initialize your environment:

# Initialize in current directory
devhub theme init

# Initialize in a new directory
devhub theme init mybrand-corporate-theme

This command will:

  • Create a .env file with your DevHub API credentials
  • Generate a .gitignore file with appropriate exclusions
  • Create a devhub.conf.json configuration file

When specifying a directory, the command will create the directory if it doesn't exist and initialize all configuration files within it.

You'll be prompted to enter:

  • DEVHUB_API_KEY - Your OAuth1 API key
  • DEVHUB_API_SECRET - Your OAuth1 API secret
  • DEVHUB_BASE_URL - Your DevHub instance URL (e.g., https://yourbrand.cloudfrontend.net)
  • DEVHUB_SITE_ID - Your site identifier

Available Commands

devhub theme list

Lists all available theme templates and components that can be synchronized.

devhub theme list

devhub theme status

Shows the synchronization status of all theme components, indicating which files have changes compared to the remote version.

devhub theme status

devhub theme sync

Synchronizes theme components from your DevHub instance to local files.

# Sync all components
devhub theme sync

# Sync specific components only
devhub theme sync layouts/headers/DefaultHeader.html components/HeroSection/HeroSection.jinja

The sync command will:

  • Download theme files (CSS, headers, footers, localization) to the layouts/ directory
  • Download template components to the components/ directory as .jinja files
  • Format templates using djlint with 2-space indentation
  • Convert component names from slug-case to PascalCase (e.g., hero-section → HeroSection.jinja)
  • Perform checksum comparison to detect conflicts between local and remote changes

Project Structure

After initialization and synchronization, your project structure will look like:

your-project/
├── .env                    # Environment variables (not committed)
├── .gitignore             # Git exclusions
├── devhub.conf.json       # CLI configuration
├── layouts/               # Theme templates (headers, footers, CSS)
│   ├── headers/DefaultHeader.jinja
│   ├── footers/DefaultFooter.jinja
├── styles/               # CSS styles
│   └── globals.css
└── components/            # Template components
    ├── HeroSection/HeroSection.jinja
    ├── ProductCard/ProductCard.jinja
    └── NavigationMenu/NavigationMenu.jinja

Authentication & Environment

The CLI uses OAuth1 authentication to connect to your DevHub instance. All sensitive credentials are stored in the .env file, which should never be committed to version control.

Required environment variables:

  • DEVHUB_API_KEY - OAuth1 API key
  • DEVHUB_API_SECRET - OAuth1 API secret
  • DEVHUB_BASE_URL - Base URL for DevHub API
  • DEVHUB_SITE_ID - Site identifier

AI Toolkit Commands

The DevHub CLI includes AI toolkit management for setting up AI-powered development tools and templates.

devhub aikit init

Downloads and installs the DevHub AI toolkit to your current working directory.

devhub aikit init

This command will:

  • Download the latest AI toolkit from the DevHub CLI AI Toolkit repository
  • Extract all toolkit files to your current directory
  • Skip existing files to avoid overwriting your customizations
  • Provide feedback on extracted and skipped files

The AI toolkit includes templates, examples, and utilities for AI-powered development workflows with DevHub.

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd devhub-cli
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

python -m pytest

CLI template

CLI click template based on https://github.com/simonw/click-app

Metadata

Release files for devhub-cli 0.1.2

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

Source distribution (sdist)

Source distribution for devhub-cli 0.1.2
File Size Uploaded
devhub_cli-0.1.2.tar.gz 15.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devhub-cli 0.1.2
File Interpreter ABI Platform
devhub_cli-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 30.4 kB

Release files / devhub_cli-0.1.2.tar.gz

Download URL devhub_cli-0.1.2.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
52ade5e2994946088228138cf2254963912fa10cbfb023e81e18583820c3494a
BLAKE2b-256 checksum
How to use checksums
9bd43e8fc2eb7ecd16f09383e04cfa78a34b3f1046a5b9945035cafa42c77a4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 5, 2025.

Transparency log

Release files / devhub_cli-0.1.2-py3-none-any.whl

Download URL devhub_cli-0.1.2-py3-none-any.whl
Size 14.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
960cf74f6b31be22a011a77a28059be665eb75147b8bc2679d2a1f329ab5e124
BLAKE2b-256 checksum
How to use checksums
da8e685d3547a9fe2e880194f86c808ffca98f522732792d2739d20b9dbf0db9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 5, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1

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