| iomodo | a869b83 | 2025-07-24 18:32:59 +0400 | [diff] [blame] | 1 | # Staff |
| 2 | |
| iomodo | 7265ecf | 2025-07-31 19:52:33 +0400 | [diff] [blame] | 3 | AI multi-agent system simulating startup organization. Agents process tasks, create PRs, auto-complete via webhooks. |
| 4 | |
| 5 | ## Setup |
| 6 | |
| 7 | ### Requirements |
| iomodo | 2f762e1 | 2025-07-31 19:55:27 +0400 | [diff] [blame^] | 8 | - Go 1.24.4+ |
| iomodo | 7265ecf | 2025-07-31 19:52:33 +0400 | [diff] [blame] | 9 | - GitHub token with repo admin permissions |
| 10 | |
| 11 | ### Install |
| 12 | ```bash |
| 13 | git clone https://github.com/your-org/staff |
| 14 | cd staff |
| 15 | ``` |
| 16 | |
| 17 | ### Configure |
| 18 | Edit `server/config.yaml`: |
| 19 | ```yaml |
| 20 | server: |
| 21 | listen_address: ":9325" |
| 22 | |
| 23 | github: |
| 24 | token: "your_github_token" |
| 25 | owner: "your_username" |
| 26 | repo: "your_repo" |
| 27 | |
| 28 | openai: |
| 29 | api_key: "your_openai_key" |
| 30 | ``` |
| 31 | |
| 32 | Or use environment variables: |
| 33 | ```bash |
| 34 | export GITHUB_TOKEN="your_token" |
| 35 | export OPENAI_API_KEY="your_key" |
| 36 | ``` |
| 37 | |
| 38 | ### GitHub Webhook Setup |
| 39 | ```bash |
| 40 | cd server |
| 41 | ./staff webhook configure --webhook-url https://yourserver.com/api/v1/proposal/approve |
| 42 | ``` |
| 43 | You will need ngrok if you are doing this locally. |
| 44 | |
| 45 | ### Run |
| 46 | ```bash |
| 47 | cd server |
| 48 | go run cmd/main.go server |
| 49 | ``` |
| 50 | |
| 51 | ## Workflow |
| 52 | 1. Agent processes task → creates PR |
| 53 | 2. Human reviews/merges PR |
| 54 | 3. GitHub webhook → task completed |
| 55 | 4. Agent picks up next task |
| 56 | |
| 57 | ## Commands |
| 58 | Commands for convenience no need to use them. |
| 59 | ```bash |
| 60 | go run cmd/main.go create-task --title "Task" --description "Details" |
| 61 | go run cmd/main.go list-tasks |
| 62 | go run cmd/main.go list-agents |
| 63 | go run cmd/main.go start-agent --name agent-name |
| 64 | go run cmd/main.go webhook configure |
| 65 | ``` |