k9s-style TUI navigator for AWS services. Inspired by k9s.
npm install -g @a9s/cli
a9snpm install @a9s/cli
npx @a9s/cliLaunch the TUI:
a9s- Arrow keys / hjkl: Navigate between rows
- Tab: Switch between columns (sort/filter)
- Enter: Drill into details or navigate to the next level
- Backspace: Go back to the previous level
- / (slash): Search/filter current view
- :: Command mode (e.g.,
:servicesto list available services) - ?: Show help panel with all keybindings for current context
Press :services to see the list of available AWS services and switch between them.
- d: Open detail panel for selected row (shows metadata like ARN, tags, etc.)
- y + key: Yank/copy shortcuts:
y+n→ copy namey+a→ copy ARNy+k→ copy S3 key or other identifiers
- f: Fetch/download S3 objects to local path
- e: Edit and upload (opens selected item in
$EDITOR) - v: Toggle reveal/hide secrets (Secrets Manager)
| Service | Status | Features |
|---|---|---|
| S3 | ✅ | Browse buckets, objects, download, edit, delete |
| IAM | ✅ | List users, roles, policies |
| Route 53 | ✅ | List hosted zones, records |
| Secrets Manager | ✅ | View, edit, and upload secrets |
| DynamoDB | ✅ | List tables, view items |
- Responsive tables with sortable columns
- Service switching with
:servicescommand - VIM-inspired shortcuts (hjkl navigation, commands)
- Yank mode for quick copy operations
- Detail panels showing rich metadata
- In-editor editing with upload confirmation
- Search/filter with
/key - Help system with context-sensitive keybindings
- LocalStack support for offline development
- Node.js 18+
- pnpm (for package management)
- Docker (for LocalStack)
pnpm installStart LocalStack + seed data:
pnpm localstack:setupRun the TUI (connects to LocalStack on port 4566):
pnpm dev:localConnect to your AWS account:
pnpm devThis will use your ~/.aws/credentials and AWS_REGION environment variable.
pnpm test # Run tests
pnpm typecheck # Type checking
pnpm build # Build TypeScript to dist/src/
index.tsx - CLI entry point (commander)
App.tsx - Main TUI state machine & layout
types.ts - Core types (ColumnDef, TableRow, etc.)
services.ts - Service registry
adapters/ - ServiceAdapter implementations for each AWS service
views/ - Service-specific views (s3, iam, route53, dynamodb, secretsmanager)
components/ - Ink/React components (Table, HUD, DetailPanel, etc.)
hooks/ - Custom React hooks (navigation, state, etc.)
constants/ - Keybindings, commands
scripts/
seed.ts - LocalStack test data seeding
docker/
docker-compose.yml - LocalStack with services
- S3
- IAM
- Route 53
- DynamoDB
- Secrets Manager
- EC2
- ELB
- CloudFront
- Responsive tables
- Service switching
- VIM shortcuts
- Yank operations
- Detail panels
- Edit & upload
- Smart cross-service navigation (e.g., Route53 → ELB)
MIT