Skip to content

Latest commit

Β 

History

History
116 lines (93 loc) Β· 3.16 KB

File metadata and controls

116 lines (93 loc) Β· 3.16 KB

ActionFlow

Interactive TUI for installing curated GitHub Actions workflows with a cyberpunk aesthetic.

Features

  • 🎨 Cyberpunk UI: Neon colors, smooth animations, modern terminal interface
  • ⚑ Fast Navigation: Vim keys (j/k), arrow keys, number shortcuts
  • 🎯 Two-Panel Layout: Browse workflows on the left, see details on the right
  • πŸ”’ Safe Installation: Never overwrites without confirmation
  • πŸ“ Terminal Aware: Warns if terminal is too small, adapts to window size
  • 🎹 Keyboard Driven: No mouse required

Installation

Option 1: Install from GitHub (Recommended)

# Install globally from GitHub
bun install -g github:openstaticfish/actionflow
actionflow  # Available globally

# Or clone and link globally
git clone https://github.com/openstaticfish/actionflow.git
cd actionflow
bun link
actionflow  # Available globally

Option 2: Clone and run locally

git clone https://github.com/openstaticfish/actionflow.git
cd actionflow
bun install
bun run src/tui/index.tsx

Option 3: NPM (coming soon)

bun install -g @openstaticfish/actionflow
actionflow

Keyboard Shortcuts

Key Action
↑/↓ or j/k Navigate workflows
←/β†’ or h/l Switch category
Space Select/unselect current variant row
Enter Open batch confirmation
D / F Toggle dry-run / force in confirmation modal
? Toggle help overlay
q or Ctrl+C Quit

Available Workflows

Category: opencode

Workflow Type Variants Description
opencode/pr set standard, nix AI-powered PR code review
opencode/opencode set standard, nix Slash command handler (/oc)
opencode/triage set standard AI issue triage

Requirements

  • Terminal with minimum 80x24 characters
  • Truecolor support recommended (iTerm2, Kitty, Alacritty)
  • Bun runtime

Architecture

src/
β”œβ”€β”€ tui/                      # TUI application
β”‚   β”œβ”€β”€ index.tsx             # Entry point
β”‚   β”œβ”€β”€ components/           # React components
β”‚   β”‚   β”œβ”€β”€ App.tsx
β”‚   β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”‚   β”œβ”€β”€ Sidebar.tsx
β”‚   β”‚   β”œβ”€β”€ DetailPanel.tsx
β”‚   β”‚   β”œβ”€β”€ HelpOverlay.tsx
β”‚   β”‚   β”œβ”€β”€ TooSmallPopup.tsx
β”‚   β”‚   └── Spinner.tsx
β”‚   β”œβ”€β”€ hooks/                # Custom hooks
β”‚   β”‚   β”œβ”€β”€ useTerminalSize.ts
β”‚   β”‚   β”œβ”€β”€ useWorkflows.ts
β”‚   β”‚   └── useNavigation.ts
β”‚   β”œβ”€β”€ theme/
β”‚   β”‚   └── cyberpunk.ts      # Color palette
β”‚   └── utils/
β”‚       └── terminal-check.ts
β”œβ”€β”€ core/
β”‚   └── registry.ts           # Workflow discovery
└── models/
    └── workflow.ts           # Type definitions

Theme Customization

Edit src/tui/theme/cyberpunk.ts to customize colors:

colors: {
  bg: '#0a0a0f',           // Background
  primary: '#00f5ff',      // Cyan accent
  secondary: '#ff00ff',    // Magenta
  success: '#00ff88',      // Green
  warning: '#ffea00',      // Yellow
  error: '#ff0044',        // Red
  // ... more colors
}