4 releases
| new 0.1.3 | Dec 18, 2025 |
|---|---|
| 0.1.2 | Dec 9, 2025 |
| 0.1.1 | Dec 3, 2025 |
| 0.1.0 | Nov 20, 2025 |
#2 in #aws-profile
Used in rusticity
2MB
46K
SLoC
Rusticity - Terminal UI for AWS
A snappy terminal UI for AWS written in 🦀 Rust, inspired by 🧬 Helix editor.
⚠️ Early Development: Rusticity is in active development. Expect breaking changes, bugs, and evolving features. Use at your own risk and please report any issues you encounter!
Features
- 📟 Terminal UI using Ratatui
- ⌨️ Helix-like keybindings with Normal and Insert modes
- 🪟 Multi-pane support
- 🏗️ Modular architecture with separate crates:
rusticity-core: AWS SDK integrationrusticity-term: Terminal UI componentsrusticity: Main binary
Supported Services
- 📊 CloudWatch Logs: Log groups, log streams, log events
- 🔍 CloudWatch Logs Insights: Query and analyze logs
- 🚨 CloudWatch Alarms: View and manage alarms
- 🪣 S3: Browse buckets and objects
- 📦 ECR: Elastic Container Registry (public and private)
- ☁️ CloudFormation: View and manage stacks
- λ Lambda: Function management
- 👤 IAM: Identity and Access Management
Want to see support for another AWS service? Request it here or upvote existing requests!
Architecture
Inspired by Helix editor (https://github.com/helix-editor/helix), the project is split into:
- rusticity-core: Core AWS functionality (SDK clients, API calls, data models)
- rusticity-term: Terminal UI layer (event handling, keymaps, rendering, pane management)
- rusticity: Main application binary
Installation
From crates.io
cargo install rusticity
From source
git clone https://github.com/clumsy/rusticity.git
cd rusticity
cargo install --path rusticity
Configuration
Configure AWS credentials using standard AWS methods:
# Using environment variables
export AWS_DEFAULT_REGION=your-region
export AWS_PROFILE=your-profile
export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
# Or use AWS CLI configuration
aws configure
Column Customization
Customize column names by adding a [columns] section to ~/.config/rusticity/config.toml:
[columns.lambda.function]
name = "Function Name"
description = "Description"
[columns.cw.group]
log_group = "Log Group"
stored_bytes = "Storage"
Usage
# Run the application
rusticity
# With specific AWS profile and region
AWS_PROFILE=your-profile AWS_DEFAULT_REGION=your-region rusticity
Development
The project uses a Cargo workspace with three crates:
rusticity/
├── rusticity-core/ # Core AWS SDK integration
├── rusticity-term/ # Terminal UI components
└── rusticity/ # Main binary
Setup
# Clone and build
cargo build
# Run tests (also installs git hooks automatically)
cargo test
Git hooks will automatically check formatting and linting before commits.
Run
# Run the application
cargo run
# With specific AWS profile and region
AWS_PROFILE=your-profile AWS_DEFAULT_REGION=your-region cargo run
Testing
cargo test runs all checks including formatting, linting, and tests:
cargo test # Runs fmt check, clippy, and all tests
License
Apache-2.0
Dependencies
~181MB
~2.5M SLoC