pi-teams 0.1.0 β 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -95
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,127 +1,82 @@
|
|
|
1
|
-
# pi-teams
|
|
1
|
+
# pi-teams π
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**pi-teams** turns your single Pi agent into a coordinated software engineering team. It allows you to spawn multiple "Teammate" agents in separate terminal panes that work autonomously, communicate with each other, and manage a shared task boardβall mediated through **tmux**.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## π Installation
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- **Team Orchestration**: Create named teams with isolated configurations.
|
|
10
|
-
- **Agent Spawning**: Launch teammates in background `tmux` panes.
|
|
11
|
-
- **Messaging Protocol**: Lead can send direct messages and instructions; teammates can reply and report progress.
|
|
12
|
-
- **Shared Task List**: Track progress across the whole team with persistent task states (`pending`, `in_progress`, `completed`).
|
|
13
|
-
- **Identity Awareness**: Agents know if they are a Lead or a Teammate and adjust their system prompts accordingly.
|
|
14
|
-
|
|
15
|
-
## Installation
|
|
7
|
+
Open your Pi terminal and type:
|
|
16
8
|
|
|
17
9
|
```bash
|
|
18
10
|
pi install npm:pi-teams
|
|
19
11
|
```
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
pi install github:burggraf/pi-teams
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Getting Started (Quick Start)
|
|
13
|
+
---
|
|
28
14
|
|
|
29
|
-
|
|
15
|
+
## π What can it do?
|
|
30
16
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"Spawn a teammate named 'storybook-expert' in the `packages/ui` directory. Their goal is to create Storybook stories for all components in the `src/components` directory."
|
|
37
|
-
4. **Follow progress**:
|
|
38
|
-
"Check on 'storybook-expert'. Any updates? Show me the current task list."
|
|
17
|
+
- **Spawn Specialists**: Create agents like "Security Expert" or "Frontend Pro" to handle sub-tasks in parallel.
|
|
18
|
+
- **Shared Task Board**: Keep everyone on the same page with a persistent list of tasks and their status.
|
|
19
|
+
- **Agent Messaging**: Agents can send direct messages to each other and to you (the Team Lead) to report progress.
|
|
20
|
+
- **Autonomous Work**: Teammates automatically "wake up," read their instructions, and poll their inboxes for new work while idle.
|
|
21
|
+
- **Beautiful UI**: Optimized vertical splits in `tmux` with clear labels so you always know who is doing what.
|
|
39
22
|
|
|
40
|
-
|
|
23
|
+
---
|
|
41
24
|
|
|
42
|
-
|
|
25
|
+
## π¬ How to use it (Examples)
|
|
43
26
|
|
|
44
|
-
|
|
45
|
-
**You:** "Start a new team called 'backend-migration' for refactoring our auth service."
|
|
46
|
-
- **Pi will:** Call `team_create("backend-migration", "Refactoring auth service")`.
|
|
27
|
+
You don't need to learn complex code commands. Just talk to Pi in plain English!
|
|
47
28
|
|
|
48
|
-
###
|
|
49
|
-
**You:** "
|
|
50
|
-
- **Pi will:** Call `spawn_teammate("backend-migration", "security-audit", "Analyze all files in the current directory and find hardcoded secrets. Report back with a message to team-lead.", "./auth")`.
|
|
51
|
-
- **In your terminal:** A new `tmux` pane will open running a fresh `pi` instance with those instructions.
|
|
29
|
+
### 1. Start a Team
|
|
30
|
+
> **You:** "Create a team named 'my-app-audit' for reviewing the codebase."
|
|
52
31
|
|
|
53
|
-
###
|
|
54
|
-
**You:** "
|
|
55
|
-
- **Pi will:** Call `task_create` and then `task_update` to assign it to the teammate.
|
|
32
|
+
### 2. Spawn a Teammate
|
|
33
|
+
> **You:** "Spawn a teammate named 'security-bot' in the current folder. Tell them to scan for hardcoded API keys."
|
|
56
34
|
|
|
57
|
-
###
|
|
58
|
-
**You:** "
|
|
59
|
-
- **Pi will:** Call `check_teammate` to see if they are active and `read_inbox` to see if they sent any messages back to you (the lead).
|
|
35
|
+
### 3. Assign a Task
|
|
36
|
+
> **You:** "Create a task for security-bot: 'Check the .env.example file for sensitive defaults' and set it to in_progress."
|
|
60
37
|
|
|
61
|
-
###
|
|
62
|
-
**You:** "
|
|
63
|
-
- **Pi will:** Call `task_list` and `read_config` to give you a status overview.
|
|
38
|
+
### 4. Check on Progress
|
|
39
|
+
> **You:** "How is the team doing? Check my inbox for any messages from security-bot."
|
|
64
40
|
|
|
65
|
-
|
|
41
|
+
### 5. Shut Down the Team
|
|
42
|
+
> **You:** "We're done. Shut down the team and close the panes."
|
|
66
43
|
|
|
67
|
-
|
|
68
|
-
- A new `tmux` pane will open in your terminal.
|
|
69
|
-
- The teammate agent will be running a `pi` session with its initial instructions.
|
|
70
|
-
- The agent's status bar (if supported by your terminal) will indicate its role and team name.
|
|
71
|
-
- It will automatically start by checking its inbox for initial tasks or additional context.
|
|
72
|
-
- It will periodically check for new messages from the "Lead" agent.
|
|
44
|
+
---
|
|
73
45
|
|
|
74
|
-
##
|
|
75
|
-
1. **Lead to Teammate**: Use `send_message`. The teammate is programmed to check their inbox.
|
|
76
|
-
2. **Teammate to Lead**: Teammates are instructed to use `send_message` with `recipient="team-lead"`.
|
|
77
|
-
3. **Checking Messages**: You can ask Pi "Read my messages" or "Check for new messages from the team".
|
|
46
|
+
## πͺ Requirement: tmux
|
|
78
47
|
|
|
79
|
-
|
|
80
|
-
- `team_create(team_name, description?)`: Initialize a new team.
|
|
81
|
-
- `team_delete(team_name)`: Remove all team data and configuration.
|
|
82
|
-
- `read_config(team_name)`: View the current team members and status.
|
|
48
|
+
To show multiple agents on one screen, **pi-teams** requires `tmux` (a terminal multiplexer).
|
|
83
49
|
|
|
84
|
-
###
|
|
85
|
-
-
|
|
86
|
-
- `
|
|
87
|
-
- `force_kill_teammate(team_name, agent_name)`: Forcibly terminate an agent's `tmux` pane and remove them from the team.
|
|
50
|
+
### 1. Install tmux
|
|
51
|
+
- **macOS**: `brew install tmux`
|
|
52
|
+
- **Linux**: `sudo apt install tmux`
|
|
88
53
|
|
|
89
|
-
###
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- `task_list(team_name)`: List all tasks and their owners/status.
|
|
96
|
-
- `task_get(team_name, task_id)`: Get full details for a specific task.
|
|
97
|
-
- `task_update(team_name, task_id, status?, owner?)`: Update status or assign/reassign a task.
|
|
98
|
-
|
|
99
|
-
## Troubleshooting
|
|
100
|
-
|
|
101
|
-
- **Tmux not found**: Ensure `tmux` is installed on your system.
|
|
102
|
-
- **Tmux pane doesn't open**: Make sure you have a `tmux` session active when spawning teammates.
|
|
103
|
-
- **Pi not in path**: Teammates are spawned with the command `pi`. Ensure the `pi` binary is in your PATH.
|
|
104
|
-
- **Storage Issues**: If team data is corrupted or you want a fresh start, you can manually delete the data at `~/.claude/teams/` and `~/.claude/tasks/`.
|
|
105
|
-
|
|
106
|
-
## Safety and Concurrency
|
|
54
|
+
### 2. How to run it
|
|
55
|
+
Before you start a team, you **must** be inside a tmux session. Simply type:
|
|
56
|
+
```bash
|
|
57
|
+
tmux
|
|
58
|
+
```
|
|
59
|
+
Then start `pi` inside that window.
|
|
107
60
|
|
|
108
|
-
|
|
61
|
+
### 3. Navigating Panes (Vanilla tmux)
|
|
62
|
+
When your screen splits into multiple agents, you use "Prefix" commands to move around. By default, the prefix is **`Ctrl+b`**.
|
|
109
63
|
|
|
110
|
-
- **
|
|
111
|
-
- **
|
|
112
|
-
- **
|
|
113
|
-
|
|
64
|
+
- **Switch to next agent**: Press `Ctrl+b` then `o`.
|
|
65
|
+
- **Switch using arrows**: Press `Ctrl+b` then any **Arrow Key**.
|
|
66
|
+
- **How to Scroll**: Vanilla tmux does not use the mouse wheel by default.
|
|
67
|
+
1. Press `Ctrl+b` then `[` to enter "Copy Mode".
|
|
68
|
+
2. Use your **Arrow Keys** or **Page Up/Down** to scroll.
|
|
69
|
+
3. Press `q` to exit scroll mode and go back to typing.
|
|
114
70
|
|
|
115
|
-
|
|
71
|
+
*Note: You can greatly improve this experience by enabling "mouse mode" in your `~/.tmux.conf` file.*
|
|
116
72
|
|
|
117
|
-
|
|
118
|
-
- **pi**: The `pi` binary must be accessible in your environment.
|
|
73
|
+
---
|
|
119
74
|
|
|
120
|
-
## Credits
|
|
75
|
+
## π Credits & Attribution
|
|
121
76
|
|
|
122
|
-
This project is a port of [claude-code-teams-mcp](https://github.com/cs50victor/claude-code-teams-mcp) by [cs50victor](https://github.com/cs50victor).
|
|
77
|
+
This project is a port of the excellent [claude-code-teams-mcp](https://github.com/cs50victor/claude-code-teams-mcp) by [cs50victor](https://github.com/cs50victor).
|
|
123
78
|
|
|
124
|
-
|
|
79
|
+
We have adapted the original MCP coordination protocol to work natively as a **Pi Package**, adding features like auto-starting teammates, balanced vertical UI layouts, and automatic inbox polling to make the experience seamless for Pi users.
|
|
125
80
|
|
|
126
|
-
## License
|
|
81
|
+
## π License
|
|
127
82
|
MIT
|