A desktop GUI application for editing GitHub Actions workflows with marketplace discovery and GitHub integration.
-
Visual Workflow Editor — Edit GitHub Actions workflows with a desktop-native UI
-
Marketplace Discovery — Search and browse actions from the GitHub Marketplace with fuzzy search
-
GitHub Authentication — Secure token storage using system keyring
-
Intelligent Caching — Offline-capable with TTL-based caching for API responses
-
Action Metadata — Auto-fetch and display action inputs, versions, and documentation
-
Repository Integration — Discover secrets, variables, and repository settings
# Clone the repository
git clone https://github.com/amdphreak/github-actions-editor
cd github-actions-editor
# Build release binary
cargo build --release
# Run the application
./target/release/github-actions-editor-
Launch the application
-
Enter your GitHub Personal Access Token
-
Create one at GitHub Settings → Developer settings → Personal access tokens
-
Required scopes:
repo,read:org
-
-
Click "Connect"
Your token is stored securely in the system keyring (Windows Credential Manager, macOS Keychain, or Linux Secret Service).
-
Click "New Workflow" or open an existing
.ymlfile -
Use the sidebar to navigate jobs and steps
-
Click on a step to edit its configuration
-
Use the action browser (right panel) to search and insert marketplace actions
-
Save your workflow
src/
├── main.rs # Application entry point
├── app.rs # Main application state and update logic
├── models/ # Data models (Workflow, Action, Marketplace)
│ ├── workflow.rs # GitHub Actions workflow YAML model
│ ├── action.rs # Action metadata (action.yml)
│ └── marketplace.rs# Marketplace search results
├── github/ # GitHub API integration
│ ├── auth.rs # Secure token storage
│ ├── client.rs # High-level API client
│ └── marketplace.rs# Marketplace search and discovery
├── cache/ # TTL-based caching
│ ├── store.rs # File-based cache storage
│ └── entries.rs # Cache keys and TTL values
└── ui/ # Iced UI components
├── theme.rs # GitHub-inspired dark theme
├── components.rs # Reusable widgets
└── views.rs # Screen layouts# Run in debug mode
cargo run
# Run with logging
RUST_LOG=debug cargo run
# Run tests
cargo test
# Check for issues
cargo clippyThe application stores data in platform-specific directories:
| Platform | Config Directory |
|---|---|
Windows |
|
macOS |
|
Linux |
|
Cache data is stored separately in the platform’s cache directory.
MIT License. See LICENSE file.
-
Iced — Cross-platform GUI library for Rust
-
Octocrab — GitHub API client
-
fuzzy-matcher — Fuzzy string matching