Appmagic Flutter Actions
A powerful VS Code extension that streamlines Flutter CI/CD workflows with GitHub Actions integration, secrets management, and custom runners.
Features
- 🚀 GitHub Actions Integration: Configure and manage GitHub Actions workflows directly from VS Code
- 🔐 Secrets Management: Securely manage GitHub repository secrets without leaving your editor
- 🖥️ Custom Runners: Set up and manage self-hosted runners for your Flutter projects
- 📊 Build Monitoring: View real-time build status and history with detailed logs
- ⚡ Quick Actions: Trigger builds, deploy workflows, and download artifacts with a single click
- 🎨 Visual Workflow Editor: Configure complex CI/CD pipelines through an intuitive UI
Installation
- Open VS Code
- Press
Ctrl+P
/ Cmd+P
to open the Quick Open dialog
- Type
ext install appmagic.appmagic
and press Enter
- Reload VS Code when prompted
Getting Started
Prerequisites
- VS Code version 1.85.0 or higher
- A Flutter project with a
pubspec.yaml
file
- GitHub repository with Actions enabled
- GitHub Personal Access Token with appropriate permissions
Initial Setup
- Open your Flutter project in VS Code
- Run the command
Appmagic: Initialize Appmagic Project
from the Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
)
- Configure your GitHub token when prompted
- The extension will automatically detect your Flutter project and enable all features
Commands
All commands are available through the Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
):
Command |
Description |
Appmagic: Initialize Appmagic Project |
Set up Appmagic in your Flutter project |
Appmagic: Configure Workflow |
Create or edit GitHub Actions workflows |
Appmagic: Manage Secrets |
Add, update, or remove repository secrets |
Appmagic: Manage Runners |
Configure self-hosted runners |
Appmagic: Trigger Build |
Manually trigger a workflow run |
Appmagic: View Build History |
See recent builds and their status |
Appmagic: Refresh Builds |
Update the build history view |
Appmagic: Filter Builds |
Filter builds by status, branch, or workflow |
Appmagic: Download Build Artifact |
Download artifacts from completed builds |
Appmagic: Deploy Workflow |
Deploy a workflow to production |
Views
The extension adds a dedicated activity bar icon with four views:
Workflows View
- List all GitHub Actions workflows in your repository
- Quick access to workflow configuration
- Visual indicators for workflow status
Recent Builds View
- Real-time build status monitoring
- Detailed logs for each build step
- Quick actions for build management
Secrets View
- Manage repository and environment secrets
- Secure encryption using libsodium
- Visual secret validation
Runners View
- Monitor self-hosted runner status
- Add or remove runners
- View runner specifications and labels
Configuration
Configure the extension through VS Code settings (File > Preferences > Settings
):
{
"appmagic.githubToken": "your-github-token",
"appmagic.defaultBranch": "main",
"appmagic.workflowPath": ".github/workflows",
"appmagic.autoSync": true
}
Settings
Setting |
Type |
Default |
Description |
appmagic.githubToken |
string |
- |
GitHub Personal Access Token for API access |
appmagic.defaultBranch |
string |
main |
Default branch for workflows |
appmagic.workflowPath |
string |
.github/workflows |
Path to store workflow files |
appmagic.autoSync |
boolean |
true |
Automatically sync with GitHub on changes |
GitHub Token Permissions
Your GitHub Personal Access Token needs the following permissions:
- repo - Full control of private repositories
- workflow - Update GitHub Action workflows
- admin:org - Manage organization runners (if using org runners)
Development
Prerequisites
- Node.js 18.x or higher
- npm or pnpm package manager
- TypeScript 5.3.2 or higher
Building from Source
# Clone the repository
git clone https://github.com/appmagic/vscode-extension.git
cd vscode-extension
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Build webview components
npm run build-webview
# Watch for changes (development mode)
npm run watch
npm run watch-webview
Running Tests
# Run linter
npm run lint
# Run tests
npm test
Debugging
- Open the project in VS Code
- Press
F5
to launch a new Extension Development Host window
- The extension will be automatically loaded in the new window
For detailed debugging instructions, see DEBUG_INSTRUCTIONS.md.
Tech Stack
- Extension Core: TypeScript, VS Code Extension API
- UI Components: React 19, Material-UI v7
- State Management: TanStack React Query
- Form Handling: React Hook Form with Zod validation
- GitHub Integration: Octokit REST API
- Build System: Vite, TypeScript Compiler
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Workflow
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
Troubleshooting
Extension not activating
- Ensure you have a
pubspec.yaml
file in your workspace
- Check that VS Code version is 1.85.0 or higher
- Try reloading the window (
Ctrl+R
/ Cmd+R
)
GitHub API errors
- Verify your GitHub token has the required permissions
- Check your internet connection
- Ensure the repository has Actions enabled
Build triggers not working
- Confirm workflows are properly configured in
.github/workflows
- Check that the workflow file syntax is valid
- Verify branch protection rules aren't blocking the trigger
Support
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Flutter team for the excellent mobile framework
- GitHub Actions team for the powerful CI/CD platform
- VS Code team for the extensible editor platform
Publisher: Appmagic
Version: 0.1.0
Marketplace: Visual Studio Marketplace