New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@rotorsoft/contui

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rotorsoft/contui

Terminal UI for macOS native container management

latest
npmnpm
Version
1.4.0
Version published
Maintainers
1
Created
Source

@rotorsoft/contui

npm version CI Release License: MIT Node.js Version

A terminal UI for managing containers on macOS using the native container CLI.

Features

  • Container Management: List, start, stop, restart, and remove containers
  • Image Management: List, pull, inspect, and remove images
  • Network Management: List, create, inspect, and remove networks
  • Volume Management: List, create, inspect, and remove volumes
  • Vim-style Navigation: Use j/k or arrow keys for navigation
  • Search/Filter: Quickly filter resources with /
  • Real-time Refresh: Auto-refresh data with r key
  • Detailed Inspection: View full resource details with Enter or i
  • Container Logs: View container logs with L

Prerequisites

  • macOS with native container support
  • Node.js >= 18.0.0
  • The container CLI must be installed and the container service running

Installation

Download and Run (npm)

# Install globally
npm install -g @rotorsoft/contui

# Run the CLI
contui
# Or run without installing
npx @rotorsoft/contui

From Source (pnpm)

# Clone the repository
git clone https://github.com/Rotorsoft/contui.git
cd contui

# Install dependencies
pnpm install

# Build the project
pnpm run build

# Run the application
pnpm start

Global Installation

# Link for global usage
pnpm link --global

# Run from anywhere
contui

Usage

Keyboard Shortcuts

Navigation

KeyAction
1-4Switch tabs (Containers, Images, Networks, Volumes)
h / lPrevious/Next tab
j / k or / Navigate list
EnterInspect selected item
EscGo back / Cancel
qQuit

Actions

KeyAction
nRun new container (Containers/Images tab)
eEdit container (recreate with new settings)
sStart container
xStop container
RRestart container
dDelete (with confirmation)
LView container logs
iInspect details
pPull image (Images tab)
cCreate network/volume

Other

KeyAction
/Search/Filter
rRefresh data
?Show help

Development

# Run in development mode with hot reload
pnpm dev

# Type check
pnpm run typecheck

# Lint
pnpm run lint

# Run tests
pnpm test

# Run tests with coverage
pnpm run test:coverage

# Format code
pnpm run format

Architecture

The application is built with:

  • Ink: React for CLI applications
  • TypeScript: Type-safe development
  • React Hooks: State management with useState, useCallback, useEffect

Project Structure

src/
├── components/      # React components (views, dialogs, UI elements)
├── hooks/           # Custom React hooks
├── services/        # Container CLI wrapper and utilities
├── types/           # TypeScript type definitions
└── index.tsx        # Application entry point

Key Files

FileDescription
src/index.tsxEntry point with health check
src/components/App.tsxMain application component
src/services/container-cli.tsmacOS container CLI wrapper
src/hooks/useContainerData.tsData fetching and state
src/hooks/useKeyboard.tsCentralized keyboard handling
src/types/index.tsTypeScript interfaces

Contributing

  • Fork the repository
  • Create a feature branch (git checkout -b feat/amazing-feature)
  • Make your changes
  • Run validation:
    pnpm run typecheck
    pnpm run lint
    pnpm test
    
  • Commit using Conventional Commits:
    git commit -m "feat: add amazing feature"
    
  • Push and open a Pull Request

Commit Message Format

This project uses conventional commits enforced by commitlint:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Test additions or corrections
  • build: Build system changes
  • ci: CI configuration changes
  • chore: Maintenance tasks

License

MIT

Keywords

container

FAQs

Package last updated on 05 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts