- core/command_mixins.sh: mixin infrastructure with auto-loader - core/mixins/json_output.mixin.sh: --json flag mixin - core/mixins/no_color.mixin.sh: --no-color flag mixin - commands/mixins/MIXIN_TEMPLATE.mixin.sh: template for new mixins - command::run: reset mixin state, preprocess flags before dispatch - command::_preprocess_flags: nameref-based flag stripping, empty array fix - command::mixin: opt-in registration from on_load - list --json: structured JSON output with envelope - inspect --json: structured JSON peer detail output - json::envelope, json::error_envelope helpers
22 lines
656 B
Bash
22 lines
656 B
Bash
#!/usr/bin/env bash
|
|
|
|
# ============================================
|
|
# Core Bootstrap
|
|
# ============================================
|
|
|
|
WGCTL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
source "${WGCTL_DIR}/core/log.sh"
|
|
source "${WGCTL_DIR}/core/context.sh"
|
|
source "${WGCTL_DIR}/core/utils.sh"
|
|
source "${WGCTL_DIR}/core/module.sh"
|
|
source "${WGCTL_DIR}/core/command.sh"
|
|
source "${WGCTL_DIR}/core/command_mixins.sh"
|
|
source "${WGCTL_DIR}/core/flag.sh"
|
|
source "${WGCTL_DIR}/core/json.sh"
|
|
source "${WGCTL_DIR}/core/ui.sh"
|
|
source "${WGCTL_DIR}/core/color.sh"
|
|
source "${WGCTL_DIR}/core/fmt.sh"
|
|
source "${WGCTL_DIR}/core/test/test.sh"
|
|
|
|
command::_load_mixins
|