awspm-cli
v1.0.2
Published
AWS Profile Manager with interactive CLI - Switch AWS profiles easily with a beautiful interface
Maintainers
Readme
AWS Profile Manager CLI

Switch AWS profiles easily with a beautiful interactive terminal interface
🚀 Features
- Interactive Interface: Beautiful terminal UI for profile selection
- Easy Switching: Switch between AWS profiles with just a few keystrokes
- Profile Management: Automatically detects your AWS profiles from
~/.aws/config - Session Persistence: Maintains profile selection within your current terminal session
- Cross-Platform: Works on macOS, Linux, and Windows(WSL or Git Bash)
📦 Installation
Install globally via npm:
npm install -g awspm-cli🎯 Quick Start
After installation, you can run the AWS Profile Manager:
awspmHowever, for the profile changes to persist in your current terminal session, you need to source the command:
source awspm⚙️ Setup for Better Experience
For the best experience, add an alias to your shell configuration file so profile changes persist in your current session.
🚀 Automatic Setup (Recommended)
Use the included installation script that automatically detects your shell and adds the necessary alias:
./install.shThe script will:
- ✅ Detect if you're using zsh or bash
- ✅ Check if awspm is properly installed
- ✅ Verify if the alias already exists
- ✅ Add the alias to the appropriate config file (
~/.zshrc,~/.bashrc, or~/.bash_profile)
📝 Manual Setup
Alternatively, you can manually add the alias:
For Zsh users (~/.zshrc)
echo "alias awspm='source awspm'" >> ~/.zshrc
source ~/.zshrcFor Bash users (~/.bashrc or ~/.bash_profile)
echo "alias awspm='source awspm'" >> ~/.bashrc
source ~/.bashrcAfter setting up the alias, you can simply run:
awspmAnd the profile changes will automatically apply to your current terminal session.
🖥️ Interface

🔧 How It Works
- Profile Detection: Automatically reads your AWS profiles from
~/.aws/config - Interactive Selection: Presents a beautiful terminal interface for profile selection
- Environment Setup: Sets the
AWS_PROFILEenvironment variable for your selected profile - Session Management: Maintains the selected profile for your current terminal session
📋 Requirements
- Node.js >= 14.0.0
- Existing AWS profiles configured in
~/.aws/config
🛠️ AWS Profile Setup
If you haven't set up AWS profiles yet, you can create them using:
aws configure --profile your-profile-nameOr manually edit ~/.aws/config:
[default]
region = us-east-1
[profile development]
region = us-west-2
[profile production]
region = us-east-1🚦 Usage Examples
Basic Usage
# Run the profile selector
awspm
# Verify current profile
echo $AWS_PROFILE
# Use AWS CLI with selected profile
aws s3 lsWith Alias (Recommended)
# After setting up the alias
awspm # Select profile and apply changes automatically
# Continue using AWS CLI
aws ec2 describe-instances🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Links
⭐ Show Your Support
Give a ⭐️ if this project helped you!
Made with ❤️ by Seymourdev
