atui

command module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2025 License: GPL-3.0 Imports: 21 Imported by: 0

README ΒΆ

πŸ” AWS IAM Role Explorer TUI

A terminal-based user interface (TUI) application for exploring AWS IAM roles and policies using Go and the Bubble Tea framework.

✨ Features

  • πŸ“‹ List IAM roles associated with your current AWS profile
  • πŸ”— View policies attached to each role with clear visual indicators
  • πŸ‘€ Navigate through policy lists with improved visibility
  • πŸ“„ View policy JSON documents with syntax highlighting
  • 🏷️ Visual distinction between AWS managed and Customer managed policies
  • ⌨️ Navigate using keyboard shortcuts
  • 🎨 Beautiful terminal UI with styling
  • πŸ”„ Switch between AWS profiles seamlessly

πŸ“‹ Prerequisites

  • Go 1.21 or later
  • AWS credentials configured (via ~/.aws/credentials or environment variables)
  • AWS permissions to read IAM roles and policies

πŸ“¦ Installation

Install the latest version directly from GitHub:

go install github.com/vlkyrylenko/atui@latest

This will install the atui binary to your $GOPATH/bin directory. Make sure this directory is in your $PATH.

Option 2: Download Pre-built Binaries

Visit the Releases page and download the appropriate binary for your operating system:

  • Linux (x64): atui-linux-amd64
  • macOS (Intel): atui-darwin-amd64
  • macOS (Apple Silicon): atui-darwin-arm64
  • Windows (x64): atui-windows-amd64.exe

After downloading, make the binary executable (Linux/macOS):

chmod +x atui-*
sudo mv atui-* /usr/local/bin/atui
Option 3: Build from Source

Clone this repository and build the application:

git clone https://github.com/vlkyrylenko/atui.git
cd atui
go build -o atui
mv atui /usr/local/bin/atui
Option 4: Cross-Platform Build with Make πŸ”§

For building across multiple platforms, use the provided Makefile:

# Build for current platform
make build

# Build for all platforms (Linux, macOS, Windows)
make build-all

# Build for specific platforms
make build-linux    # Linux amd64
make build-darwin   # macOS amd64 and arm64
make build-windows  # Windows amd64
go install github.com/vlkyrylenko/atui.git
# Create distribution packages
make dist

# Install to $GOPATH/bin
make install

# See all available commands
make help

The cross-platform builds will be created in the dist/ directory with the following naming convention:

  • atui-linux-amd64
  • atui-darwin-amd64 (Intel Mac)
  • atui-darwin-arm64 (Apple Silicon Mac)
  • atui-windows-amd64.exe

πŸš€ Usage

Run the application:

atui

The application automatically loads your default AWS profile. To use a different profile, set the AWS_PROFILE environment variable:

AWS_PROFILE=dev atui
⌨️ Keyboard Controls
  • ↑/k: Move up
  • ↓/j: Move down
  • Enter: Select/view item
  • Esc: Go back to previous screen
  • p: Switch AWS profiles
  • q/Ctrl+C: Quit application

πŸ–₯️ Screenshots

Main Role List

Navigate through your AWS IAM roles with a clean, organized interface.

Policy Details

View detailed policy information with syntax-highlighted JSON documents.

πŸ”§ Configuration

The application supports configuration through a config file. Place your configuration in:

  • Linux: ~/.config/atui/config.yaml
  • macOS: ~/Library/Application Support/atui/config.yaml
  • Windows: %APPDATA%\atui\config.yaml

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ› οΈ Development Setup
  1. Clone the repository:

    git clone https://github.com/vlkyrylenko/atui.git
    cd atui
    
  2. Set up the development environment:

    make dev-setup  # Installs dependencies and development tools
    
  3. Run the application locally:

    make run
    
πŸ“ Development Guidelines
  • Code formatting: Run make fmt before committing
  • Linting: Run make lint to check code quality
  • Testing: Run make test to execute all tests
  • Cross-platform testing: Use make build-all to ensure builds work on all platforms
πŸ› Bug Reports & Feature Requests
  • Please use GitHub Issues to report bugs or request features
  • Include your OS, Go version, and AWS configuration details when reporting bugs
  • Provide steps to reproduce the issue
πŸ’‘ Development Notes
  • The application uses Bubble Tea for the TUI framework
  • Configuration is handled through the config/ package
  • AWS API interactions are in the main application file
  • Color themes and styling can be customized via the config system

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Built with Bubble Tea - A powerful little TUI framework
  • Uses Lipgloss for styling
  • AWS SDK for Go v2

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL