Environment Variables
Configure StructKit CLI defaults without command-line arguments.
High Priority Variables
STRUCTKIT_GLOBAL_SYSTEM_PROMPT
Sets the global system prompt for OpenAI integration. CLI equivalent: --global-system-prompt
STRUCTKIT_INPUT_STORE
Path to the input store for template variables. Default: /tmp/structkit/input.json. CLI equivalent: --input-store
STRUCTKIT_BACKUP_PATH
Default backup location for file backups. CLI equivalent: --backup
Medium Priority Variables
STRUCTKIT_FILE_STRATEGY
Values: overwrite, skip, append, rename, backup. Default: overwrite.
STRUCTKIT_NON_INTERACTIVE
Values: true, 1, yes (case-insensitive). Useful for CI/CD pipelines.
STRUCTKIT_OUTPUT_MODE
Values: console, file. Default: file.
Shared Variables
STRUCTKIT_STRUCTURES_PATH
Path to custom structure definitions. Applies across all commands.
STRUCTKIT_LOG_LEVEL
Values: DEBUG, INFO, WARNING, ERROR, CRITICAL. Default: INFO.
STRUCTKIT_SOURCES_CONFIG
Override the user-level named sources config file. Default: $XDG_CONFIG_HOME/structkit/sources.yaml or ~/.config/structkit/sources.yaml.
STRUCTKIT_SOURCES_CACHE
Override the local cache directory used for git-backed sources. Default: $XDG_CACHE_HOME/structkit/sources or ~/.cache/structkit/sources.
Precedence Rules
- Command-line arguments (highest priority)
- Environment variables
- Built-in defaults (lowest priority)
export STRUCTKIT_FILE_STRATEGY="backup"
# Override with CLI argument
structkit generate --file-strategy skip my-structure ./output
# Uses 'skip', not 'backup'Docker Usage
docker run \
-e STRUCTKIT_STRUCTURES_PATH=/custom/structures \
-e STRUCTKIT_NON_INTERACTIVE=true \
-e STRUCTKIT_FILE_STRATEGY=backup \
-v $(pwd):/workdir \
ghcr.io/httpdss/structkit:main generate my-structure /workdir/outputCI/CD Integration
name: Generate Project Structure
on: [push]
jobs:
generate:
runs-on: ubuntu-latest
env:
STRUCTKIT_NON_INTERACTIVE: "true"
STRUCTKIT_FILE_STRATEGY: backup
steps:
- uses: actions/checkout@v3
- run: pip install structkit
- run: structkit generate my-structure ./output