Tmux Project Manager

Manage projects and coordinate agents in tmux sessions

Overview

The "Tmux Project Manager" node facilitates managing software development projects within tmux sessions by coordinating project tasks, team members, and progress tracking. It is designed to help project managers delegate work, monitor status, validate quality, add team members, and conduct daily standups—all through automated interactions with tmux windows representing different agents or roles.

This node is beneficial in scenarios where a project manager wants to orchestrate multiple developers, QA engineers, and other roles working concurrently in a terminal multiplexing environment (tmux). For example, it can assign specific tasks to individual team members, request status updates from all agents, or run quality validation checks without manual intervention.

Practical examples:

  • Assigning a new feature implementation task to a developer window inside a tmux session.
  • Collecting progress reports from all team members during a daily standup.
  • Adding a new QA engineer as a team member by creating a new tmux window and briefing them automatically.
  • Requesting the project manager agent to perform quality validation such as code review or security checks.

Properties

Name Meaning
Project Session The name of the tmux session representing the project where tasks and coordination occur.
Task Description A detailed description of the task to be assigned to a team member or agent.
Target Agent The window index or name of the specific tmux window (agent) to which the task is assigned. If empty, defaults to next available.
Priority The priority level of the task. Options: High, Medium, Low.

Output

The node outputs JSON objects containing the results of the requested operation. For the "Assign Task" operation, the output includes:

  • success: Boolean indicating if the task assignment succeeded.
  • taskId: A unique identifier for the assigned task (timestamp-based).
  • projectSession: The tmux session name where the task was assigned.
  • targetAgent: The target window index or name receiving the task.
  • priority: The priority level of the task.
  • taskDescription: The full text description of the task.
  • timestamp: ISO string timestamp when the task was assigned.

No binary data output is produced by this node.

Dependencies

  • Requires access to a tmux environment where project sessions and windows represent team members and roles.
  • Uses an internal utility ("TmuxBridge") to interact with tmux sessions, send messages, create windows, and capture window content.
  • Optionally uses credentials that may specify external script directories or base paths for projects.
  • Relies on executing shell commands (tmux send-keys, tmux new-window) via child process execution.
  • No external API keys are explicitly required for the "Assign Task" operation.

Troubleshooting

  • Common issues:

    • Specified tmux session does not exist or is not running, causing failures when sending messages or assigning tasks.
    • Incorrect or unavailable target agent window index/name leading to task not being delivered properly.
    • Permissions or environment restrictions preventing execution of tmux commands.
    • Delays or timeouts in message delivery due to asynchronous communication with tmux windows.
  • Error messages:

    • "Failed to assign task: ..." indicates an error occurred during task assignment, often due to invalid session or window references or command execution failure.
  • Resolutions:

    • Verify the tmux session name exists and is active.
    • Confirm the target agent window index or name is correct and currently open.
    • Ensure the n8n instance has permission to execute tmux commands and access the tmux environment.
    • Check for any environment variables or configurations needed to locate tmux or related scripts.

Links and References

Discussion