CLI & Tooling#

bootstack ships a command-line tool, bootstack, for scaffolding projects, running them, packaging a standalone executable, and exploring the framework. It is installed with the package; run bootstack --help for a summary, or bootstack <command> --help for any command’s options.

Two global flags apply to every command:

  • --version — print the installed bootstack version.

  • -v, --verbose — print a full traceback on error (otherwise errors are a one-line message). See Debugging.

Creating a project#

bootstack start <name> scaffolds a new project — an entry point, a bootstack.toml manifest, and starter views or pages.

bootstack start MyApp                           # single-view app (basic)
bootstack start MyApp --template appshell       # sidebar-navigation app
bootstack start MyApp --template appshell --nav workspaces

Key options:

Option

Effect

--template {basic,appshell}

basic is a single-window app; appshell adds a navigation shell. Default basic.

--nav {single,grouped,master-detail,workspaces}

Navigation style for the appshell template — a flat sidebar, grouped sections, a record list/detail, or a workspace rail. Default single; ignored for basic. The scaffold includes a menu bar, command bar, and status bar you can trim.

--theme <name>

Initial theme (e.g. bootstrap-dark). Default bootstrap-light.

--container {grid,pack}

Default layout container for basic views. Default grid; ignored for appshell.

--simple

Minimal project — no assets directory or build configuration.

--dir <path>

Target directory. Defaults to ./<name>.

The navigation styles mirror the Navigation patterns patterns, so the scaffold is a working starting point for each shape.

Running a project#

bootstack run finds the project’s bootstack.toml (searching parent directories), puts src/ on the path, and runs the entry point:

bootstack run            # run the project in the current directory
bootstack run path/to/project

Adding components#

bootstack add <kind> <Name> scaffolds a new component and tells you how to wire it in. The kinds:

bootstack add page DashboardPage      # appshell projects — a navigable page
bootstack add view SettingsView       # basic projects — a view
bootstack add dialog ConfirmDialog    # a custom dialog
bootstack add i18n --languages en es  # translatable-text scaffolding

add page is for appshell projects and add view for basic projects; each generates a class file and prints the lines to paste into main.py.

Packaging#

Two commands turn a project into a standalone executable, covered in full in Distribution:

bootstack promote --pyinstaller   # add build config + a PyInstaller spec
bootstack build                   # produce dist/<App> via PyInstaller

Diagnostics#

bootstack doctor checks your environment and project (Python and Tcl/Tk versions, the manifest and entry point, the template layout, and — once promoted — PyInstaller and the spec file). See Debugging.

bootstack doctor

Exploring the framework#

Three commands open interactive windows — no project required:

bootstack gallery     # a live tour of every widget, theme, and layout
bootstack icons       # browse the bundled Bootstrap Icons (click to copy a name)
bootstack appicon     # design an application icon and export .ico/.icns/.png

The icon designer pairs with Application Icons.

See also#

  • Distribution — the packaging workflow and bootstack.toml [build].

  • Debuggingdoctor, verbose errors, and common problems.

  • Quick Start — your first app.