Skip to main content

Generic CLI for scaffolding and managing modular runtime applications.

Project description

RuntimeKit CLI

RuntimeKit CLI is a generic command-line tool for scaffolding and managing modular runtime applications.

It can generate modules, pages, stores, backend routes, descriptor wiring, dependency wiring, release commands, installer collection, and safe cleanup commands for a workspace that follows a modular runtime layout.

Install

From PyPI after publishing:

python -m pip install runtimekit-cli

From GitHub before publishing:

python -m pip install "runtimekit-cli @ git+https://github.com/Susheer/runtimekit-cli.git"

Configure

Run this once per machine or environment:

runtimekit config init --workspace /path/to/spec --name "My Runtime"

The configured name is only local CLI metadata. It does not need to be hardcoded into the package.

Show config:

runtimekit config show

Common Commands

runtimekit doctor
runtimekit add module APP.WorkOrders --menu-parent Operations
runtimekit add page APP.WorkOrders WorkOrderDetails
runtimekit add store APP.WorkOrders WorkOrdersStore
runtimekit add dependency APP.WorkOrders OTHER.SharedFeature
runtimekit add include OTHER.SharedFeature --app APP
runtimekit add theme --app APP
runtimekit prepare
runtimekit inspect runtime
runtimekit run browser --open
runtimekit run electron
runtimekit release make --target mac-dmg
runtimekit clean --target build --target installer --dry-run
runtimekit remove module APP.WorkOrders --dry-run
runtimekit remove theme --app APP --yes

Destructive commands require --yes unless --dry-run is used.

Design-Aware Scaffolding

runtimekit add module now creates a full starter module instead of a blank shell:

  • Three visible pages in the same navigation group.
  • A module-scoped frontend store with fake data for every generated page.
  • backend/module.js, route, and service files returning sample data.
  • Strict module.json with page-level pageType, icon, menu, restore-state, keep-alive, frontend.entry, and backend.routePrefix.
  • MUI/platform UI page templates using cards, metrics, status pills, and data tables.

runtimekit add page adds the new page under the module's existing navigation group by default, refreshes sample data, and keeps the generated frontend module export aligned with module.json.

The CLI does not write deprecated manifest fields such as permissions, metadata, backend.routes, backend.services, backend.initOrder, frontend.stores, or frontend.slots. Runtime behavior belongs in frontend/module.js and backend/module.js.

runtimekit add theme adds root-app theme resources for an external app. By default it targets the root.app configured in local.properties; use --app APP to be explicit. It writes styles/themeset.js, a companion CSS file, assets/, static/, and wires themeSet, styles, assets, and static into the app module-descriptor.json. The generated token set intentionally uses a visibly different palette from the default runtime theme so stakeholders can see the composition effect immediately.

runtimekit remove theme removes only external app theme wiring. The default runtime/core theme cannot be edited or deleted by this CLI.

Release Artifacts

Release builds can collect generated installer files into a root-level installer folder:

runtimekit release make --target mac-dmg

The collected output defaults to:

installer/

Override it with:

runtimekit release make --target mac-dmg --installer-dir published-installers

Development

python -m unittest discover -s tests
PYTHONPYCACHEPREFIX=/tmp/runtimekit_pycache python -m py_compile runtimekit_cli/cli.py tests/test_cli.py
python -m build

Publish

The recommended publish flow is PyPI Trusted Publishing from GitHub Actions. Create a PyPI project for runtimekit-cli, configure a trusted publisher for this repository, then publish by creating a GitHub release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runtimekit_cli-0.3.1.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runtimekit_cli-0.3.1-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file runtimekit_cli-0.3.1.tar.gz.

File metadata

  • Download URL: runtimekit_cli-0.3.1.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for runtimekit_cli-0.3.1.tar.gz
Algorithm Hash digest
SHA256 61ca5591cac5e755059b523d1db4effefc5277775a2ddccf483413617f057acc
MD5 51c3cba2fd6ac56e535ac1c292e383fc
BLAKE2b-256 a40eb2848f8de043797832db9ad8b3bc1c78a1f872b26a36a2a6365a303baebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for runtimekit_cli-0.3.1.tar.gz:

Publisher: publish.yml on Susheer/runtimekit-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file runtimekit_cli-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: runtimekit_cli-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for runtimekit_cli-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7be79cad5bee6e558eab2863612e3fe655a6302d9454a6fdc8cbe383986f8363
MD5 ccb45e4cd89f31c8dca8d0f752b671f0
BLAKE2b-256 93aaed3eb052fca14e5402ba83f133faf4b519b319eee09b51a9f3ccf4642bfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for runtimekit_cli-0.3.1-py3-none-any.whl:

Publisher: publish.yml on Susheer/runtimekit-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page