**Category:** Project
/plugin marketplace add nguyenthienthanh/ccpm-team-agents/plugin install nguyenthienthanh-aura-frog-aura-frog-2@nguyenthienthanh/ccpm-team-agentsproject/Category: Project
Priority: Medium
Syntax: project:reload-env
Load or reload environment variables from the project's .envrc file. This command reads the .envrc file and makes all exported variables available for the current session.
Use cases:
.envrc with new API keysSearch order:
./.envrc./.claude/.envrcPROJECT_ROOT=$(pwd)
if [ -f "$PROJECT_ROOT/.envrc" ]; then
ENVRC_PATH="$PROJECT_ROOT/.envrc"
elif [ -f "$PROJECT_ROOT/.claude/.envrc" ]; then
ENVRC_PATH="$PROJECT_ROOT/.claude/.envrc"
else
echo "ā No .envrc file found"
echo " Run 'project:init' to create one"
exit 1
fi
Safe parsing approach (handles special characters):
# Read .envrc and extract export statements
while IFS= read -r line || [ -n "$line" ]; do
# Skip comments and empty lines
[[ "$line" =~ ^[[:space:]]*# ]] && continue
[[ -z "${line// }" ]] && continue
# Match export statements
if [[ "$line" =~ ^[[:space:]]*export[[:space:]]+([A-Za-z_][A-Za-z0-9_]*)= ]]; then
# Extract variable name and value
var_name="${BASH_REMATCH[1]}"
# Get value (handle quoted and unquoted)
if [[ "$line" =~ ^[[:space:]]*export[[:space:]]+[A-Za-z_][A-Za-z0-9_]*=\"([^\"]*)\" ]]; then
var_value="${BASH_REMATCH[1]}"
elif [[ "$line" =~ ^[[:space:]]*export[[:space:]]+[A-Za-z_][A-Za-z0-9_]*=\'([^\']*)\' ]]; then
var_value="${BASH_REMATCH[1]}"
elif [[ "$line" =~ ^[[:space:]]*export[[:space:]]+[A-Za-z_][A-Za-z0-9_]*=([^[:space:]]*) ]]; then
var_value="${BASH_REMATCH[1]}"
fi
# Export the variable
export "$var_name=$var_value"
echo " ā
$var_name"
fi
done < "$ENVRC_PATH"
Check critical variables are set:
echo ""
echo "š Environment Status:"
echo ""
# Integrations
echo "š Integration Credentials:"
[ -n "$JIRA_URL" ] && echo " ā
JIRA (configured)" || echo " āŖ JIRA (not configured)"
[ -n "$FIGMA_API_TOKEN" ] && echo " ā
Figma (configured)" || echo " āŖ Figma (not configured)"
[ -n "$SLACK_BOT_TOKEN" ] && echo " ā
Slack (configured)" || echo " āŖ Slack (not configured)"
[ -n "$CONFLUENCE_URL" ] && echo " ā
Confluence (configured)" || echo " āŖ Confluence (not configured)"
# Workflow Settings
echo ""
echo "āļø Workflow Settings:"
[ -n "$AURA_FROG_DEFAULT_COVERAGE" ] && echo " Coverage: $AURA_FROG_DEFAULT_COVERAGE%" || echo " Coverage: 80% (default)"
[ -n "$AURA_FROG_TDD_ENFORCE" ] && echo " TDD: $AURA_FROG_TDD_ENFORCE" || echo " TDD: true (default)"
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
Environment Loaded Successfully
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
š Source: ./.envrc
š Environment Status:
š Integration Credentials:
ā
JIRA (configured)
ā
Figma (configured)
āŖ Slack (not configured)
āŖ Confluence (not configured)
āļø Workflow Settings:
Coverage: 80% (default)
TDD: true (default)
š” Tip: Edit .envrc and run 'project:reload-env' to apply changes
You: project:reload-env
Claude:
š Loading environment from .envrc...
š Source: ./.envrc
Loaded variables:
ā
JIRA_URL
ā
JIRA_EMAIL
ā
JIRA_API_TOKEN
ā
FIGMA_API_TOKEN
ā
CONFLUENCE_URL
š Environment Status:
[Full status output...]
ā
Environment loaded successfully!
You: project:reload-env
Claude:
ā No .envrc file found
To create one, run:
project:init
Or create manually:
cp ~/.claude/plugins/marketplaces/aurafrog/aura-frog/.envrc.template .envrc
Claude Code should auto-load .envrc at session start.
Add this instruction to CLAUDE.md:
## Environment Loading
**ALWAYS load .envrc at session start:**
1. Check for `.envrc` in: project root, then `.claude/.envrc`
2. If found, parse and load all exported variables
3. Use loaded variables for integrations
If using direnv:
# Allow direnv to load .envrc
direnv allow
# Reload after changes
direnv reload
Note: Claude Code doesn't use direnv directly. This command manually parses .envrc.
project:init - Initialize project with .envrcproject:regen - Regenerate project contextsetup:integrations - Configure integration credentialsworkflow:start - Start workflow (uses loaded env vars)# All these formats are supported:
export VAR_NAME="value"
export VAR_NAME='value'
export VAR_NAME=value
The parser handles:
Variables are loaded for the current Claude Code session only. They persist until:
project:reload-env is run againVersion: 1.0.0 Last Updated: 2025-12-01