Add development-scripts agent skill
Ports generic-scripts-module-v1 into a routed skill: module anatomy, shared loggers/base modules, Taskfile integration, workflows, and pattern decisions. Fixes a latent defect in the loggers example that silenced all logging in the module scaffold: loggers/lib/--index-api.sh now sources --env-vars-reader.sh, and the reader preserves already-exported values so caller overrides still win. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
# -------------------------------------------------------------------------------------
|
||||
# IBM Confidential
|
||||
# 6949-70F, 6949-80D
|
||||
# © Copyright IBM Corp. 2018, 2024
|
||||
# US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
|
||||
# -------------------------------------------------------------------------------------
|
||||
|
||||
. ./.scripts/loggers/lib/--env-vars-reader.sh
|
||||
|
||||
TMP_BASE_LIB_ENV_VARS_READER=".scripts/base/lib/--env-vars-reader.sh"
|
||||
|
||||
export LOCAL_OS_TYPE="darwin"
|
||||
export LOCAL_CPU_TYPE="amd64"
|
||||
export LOCAL_HOME_DIR=$(pwd)
|
||||
export LOCAL_HOME_DIR_NAME=${PWD##*/}
|
||||
export LOCAL_GIT_ROOT_DIR=$(dirname "${LOCAL_HOME_DIR}")
|
||||
export LOCAL_CACHE_DIR_KUBE=".kube"
|
||||
|
||||
export LOCAL_FILE_DOT_ENV=".env"
|
||||
|
||||
# Pre-load CA_ENVIRONMENT from .env if not already set
|
||||
if [ -z "${CA_ENVIRONMENT}" ] && [ -f "${LOCAL_FILE_DOT_ENV}" ]; then
|
||||
export CA_ENVIRONMENT=$(grep '^CA_ENVIRONMENT=' "${LOCAL_FILE_DOT_ENV}" | cut -d'=' -f2- | tr -d '"' | tr -d "'")
|
||||
fi
|
||||
|
||||
export LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT=".env-${CA_ENVIRONMENT}"
|
||||
|
||||
. ./.scripts/base/lib/-export-env-variables-from-file-dot-env.sh
|
||||
|
||||
_loggers_info "${CA_ENVIRONMENT}" "CA_ENVIRONMENT: ${CA_ENVIRONMENT}"
|
||||
_loggers_info "${CA_ENVIRONMENT}" "LOCAL_FILE_DOT_ENV: ${LOCAL_FILE_DOT_ENV}"
|
||||
_loggers_info "${CA_ENVIRONMENT}" "LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT: ${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT}"
|
||||
|
||||
if
|
||||
[ ! -e "${LOCAL_FILE_DOT_ENV}" ]
|
||||
then
|
||||
_loggers_error "${LOCAL_FILE_DOT_ENV}" "Missing ${LOCAL_FILE_DOT_ENV} file."
|
||||
exit 1
|
||||
else
|
||||
set -o allexport
|
||||
. "./${LOCAL_FILE_DOT_ENV}"
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
if
|
||||
[ ! -e "${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT}" ]
|
||||
then
|
||||
_loggers_error "${TMP_BASE_LIB_ENV_VARS_READER}" "Missing ${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT} file."
|
||||
exit 1
|
||||
else
|
||||
set -o allexport
|
||||
. "./${LOCAL_FILE_DOT_ENV_CA_ENVIRONMENT}"
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
mkdir -p "${LOCAL_CACHE_DIR_KUBE}"
|
||||
|
||||
ALL_ARGS=("$@")
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
case $1 in
|
||||
--local-os-type)
|
||||
export LOCAL_OS_TYPE="$2"
|
||||
;;
|
||||
--local-cpu-type)
|
||||
export LOCAL_CPU_TYPE="$2"
|
||||
;;
|
||||
--local-file-dot-env)
|
||||
export LOCAL_FILE_DOT_ENV="$2"
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
set -- "${ALL_ARGS[@]}"
|
||||
Reference in New Issue
Block a user