Skip to content
This repository was archived by the owner on Feb 6, 2026. It is now read-only.

feat: project actions#125

Merged
matt2e merged 1 commit intomainfrom
matt2e/actions
Feb 6, 2026
Merged

feat: project actions#125
matt2e merged 1 commit intomainfrom
matt2e/actions

Conversation

@matt2e
Copy link
Collaborator

@matt2e matt2e commented Feb 6, 2026

Summary

Introduces a project actions system that lets users configure and run common development tasks (lint, test, format, build) directly from the branch UI, with optional AI-powered detection to auto-discover available commands from project files.

Changes

Actions Infrastructure

  • Adds project_actions database schema to store per-project action configurations with type categorization (prerun, run, build, format, check, test, cleanUp)
  • Implements action runner that executes commands in the worktree directory with proper shell environment, streaming output via Tauri events
  • Supports auto-commit after successful format/fix actions to streamline the edit-fix-commit workflow
  • Adds ANSI color support for terminal output rendering in the UI

AI-Powered Detection

  • Integrates with ACP-compatible agents (goose, claude-code-acp) to analyze project structure and suggest relevant actions
  • Scans common build files (package.json, justfile, Makefile, Cargo.toml, pyproject.toml) to identify available commands
  • Categorizes detected actions by type based on what they actually do (e.g., a "lint" script that auto-fixes is categorized as "format")

UI Integration

  • Adds Project Settings modal for managing actions (create, edit, delete, detect)
  • Displays action buttons in branch cards grouped by category with submenus for types with 3+ actions
  • Shows real-time execution output in a modal with ANSI color rendering, stop/restart controls, and duration tracking
  • Prerun actions can be configured to run automatically when creating new worktrees

Technical Details

  • Actions are scoped to projects (not branches) so configuration is shared across all branches in a repo
  • Output is buffered server-side so opening the output modal mid-execution shows previous output
  • Uses libc::kill for proper process termination on Unix systems

Implement a comprehensive project actions system that allows users to define, detect, and execute common project tasks. Key features include:

- AI-powered action detection that analyzes project structure and suggests relevant actions
- Action execution UI with real-time output, ANSI support, and progress bars
- Project settings modal for managing actions and project configuration
- Support for multiple action types: Test, Lint, Format, Build, CleanUp, PreRun, Custom
- Action runner with proper environment handling and shell integration
- Database schema and CRUD operations for persisting project actions
- Smart categorization and UI organization of actions in branch cards

The system integrates with the existing branch workflow, automatically detecting and suggesting actions when creating new projects, and providing quick access to common tasks through the branch card UI.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@matt2e matt2e marked this pull request as ready for review February 6, 2026 06:56
@matt2e matt2e merged commit 635afb8 into main Feb 6, 2026
1 check failed
@matt2e matt2e deleted the matt2e/actions branch February 6, 2026 06:56
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant