Initial commit
This commit is contained in:
110
commands/list-env-vars.md
Normal file
110
commands/list-env-vars.md
Normal file
@@ -0,0 +1,110 @@
|
||||
---
|
||||
name: list-env-vars
|
||||
description: List configured environment variables
|
||||
---
|
||||
|
||||
Lists all environment variables configured in `.atxp/.env.production` with their values masked for security.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
/list-env-vars
|
||||
```
|
||||
|
||||
## Example Output
|
||||
|
||||
```
|
||||
Environment variables in .atxp/.env.production:
|
||||
|
||||
GOOGLE_ANALYTICS_API_KEY=ya29...****
|
||||
GOOGLE_SEARCH_CONSOLE_KEY=AIza...****
|
||||
DATAFORSEO_API_KEY=1234...****
|
||||
|
||||
(3 variables configured)
|
||||
```
|
||||
|
||||
## Implementation
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
ENV_FILE=".atxp/.env.production"
|
||||
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "No environment variables configured yet."
|
||||
echo ""
|
||||
echo "To add variables, use:"
|
||||
echo " /configure-env-var KEY VALUE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Count non-empty, non-comment lines
|
||||
VAR_COUNT=$(grep -cE '^[A-Za-z_][A-Za-z0-9_]*=' "$ENV_FILE" 2>/dev/null || echo "0")
|
||||
|
||||
if [ "$VAR_COUNT" -eq 0 ]; then
|
||||
echo "No environment variables configured yet."
|
||||
echo ""
|
||||
echo "To add variables, use:"
|
||||
echo " /configure-env-var KEY VALUE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Environment variables in .atxp/.env.production:"
|
||||
echo ""
|
||||
|
||||
# Read and display each variable with masked value
|
||||
while IFS= read -r line; do
|
||||
# Skip empty lines and comments
|
||||
if [ -z "$line" ] || echo "$line" | grep -qE '^\s*#'; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Extract key and mask value
|
||||
if echo "$line" | grep -qE '^[A-Za-z_][A-Za-z0-9_]*='; then
|
||||
KEY=$(echo "$line" | cut -d= -f1)
|
||||
VALUE=$(echo "$line" | cut -d= -f2-)
|
||||
|
||||
# Mask the value - show first 4 chars and ****
|
||||
if [ ${#VALUE} -le 4 ]; then
|
||||
MASKED="****"
|
||||
else
|
||||
FIRST_CHARS=$(echo "$VALUE" | cut -c1-4)
|
||||
MASKED="${FIRST_CHARS}...****"
|
||||
fi
|
||||
|
||||
echo " ${KEY}=${MASKED}"
|
||||
fi
|
||||
done < "$ENV_FILE"
|
||||
|
||||
echo ""
|
||||
echo "(${VAR_COUNT} variable(s) configured)"
|
||||
echo ""
|
||||
echo "To modify or add variables, use:"
|
||||
echo " /configure-env-var KEY VALUE"
|
||||
echo ""
|
||||
echo "To remove a variable, use:"
|
||||
echo " /remove-env-var KEY"
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Variable values are masked to prevent accidental exposure
|
||||
- Only shows the first 4 characters followed by `...****`
|
||||
- Empty lines and comments are ignored
|
||||
- To see actual values, view the `.atxp/.env.production` file directly
|
||||
|
||||
## Security
|
||||
|
||||
This command masks sensitive values by default. If you need to see the actual values for debugging, you can:
|
||||
|
||||
```bash
|
||||
cat .atxp/.env.production
|
||||
```
|
||||
|
||||
⚠️ Be careful when viewing or sharing the actual file contents.
|
||||
|
||||
## Related Commands
|
||||
|
||||
- `/configure-env-var` - Add or update an environment variable
|
||||
- `/remove-env-var` - Remove an environment variable
|
||||
- `/deploy` - Deploy your agent with environment variables
|
||||
Reference in New Issue
Block a user