Skip to content

Commit 69a85b4

Browse files
authored
Merge pull request #18 from Agent-Field/feature/doc-multi-repo-support
Document multi-repository workspace support
2 parents 202a15d + c2c6b17 commit 69a85b4

2 files changed

Lines changed: 101 additions & 0 deletions

File tree

README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,65 @@ JSON
6161

6262
Swap `models.default` and any role key (`coder`, `qa`, `architect`, etc.) to any model your runtime supports.
6363

64+
## Multi-Repository Workspace Support
65+
66+
SWE-AF supports coordinated work across multiple repositories in a single build. This is useful when your project consists of a primary application plus shared libraries, monorepo sub-projects, or dependent microservices.
67+
68+
### Use Cases
69+
70+
- **Primary App + Shared Libraries**: Build a web application that depends on a shared utilities or SDK library.
71+
- **Monorepo Sub-Projects**: Coordinate changes across multiple packages in a monorepo (each repo_url points to a sub-directory or separate repo).
72+
- **Dependent Microservices**: When a feature spans multiple services (e.g., API + Worker Queue), define roles to orchestrate changes across boundaries.
73+
74+
### Single-Repo (Backward Compatible)
75+
76+
Single-repository builds work exactly as before — just use `repo_url` or `repo_path` at the top level:
77+
78+
```bash
79+
curl -X POST http://localhost:8080/api/v1/execute/async/swe-planner.build \
80+
-H "Content-Type: application/json" \
81+
-d '{
82+
"input": {
83+
"goal": "Add JWT auth",
84+
"repo_url": "https://github.com/user/my-project"
85+
}
86+
}'
87+
```
88+
89+
### Multi-Repo Configuration
90+
91+
Pass `config.repos` as an array of repository objects, each with `repo_url` (or `repo_path`) and a `role`:
92+
93+
```bash
94+
curl -X POST http://localhost:8080/api/v1/execute/async/swe-planner.build \
95+
-H "Content-Type: application/json" \
96+
-d '{
97+
"input": {
98+
"goal": "Add JWT auth across API and shared-lib",
99+
"config": {
100+
"repos": [
101+
{
102+
"repo_url": "https://github.com/org/main-app",
103+
"role": "primary"
104+
},
105+
{
106+
"repo_url": "https://github.com/org/shared-lib",
107+
"role": "dependency"
108+
}
109+
],
110+
"runtime": "claude_code",
111+
"models": {
112+
"default": "sonnet"
113+
}
114+
}
115+
}
116+
}'
117+
```
118+
119+
**Roles:**
120+
- `primary`: The main application being built. Changes here drive the build; failures block progress.
121+
- `dependency`: Libraries or services that may be modified to support the primary repo. Failures are captured but don't block.
122+
64123
## Autonomous Build Spotlight
65124

66125
Rust-based Python compiler benchmark (built autonomously):

docs/SKILL.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,48 @@ curl -X POST http://localhost:8080/api/v1/execute/async/swe-planner.build \
100100

101101
Available roles: `pm`, `architect`, `tech_lead`, `sprint_planner`, `coder`, `qa`, `code_reviewer`, `qa_synthesizer`, `replan`, `retry_advisor`, `issue_writer`, `issue_advisor`, `verifier`, `git`, `merger`, `integration_tester`
102102

103+
## Multi-Repo Builds
104+
105+
SWE-AF supports coordinated work across multiple repositories in a single build. Pass `config.repos` as an array of repository objects, each with a `repo_url` (or `repo_path`) and a `role`. Single-repo builds remain backward compatible—just use `repo_url` or `repo_path` at the top level.
106+
107+
### Complete Example: Primary App + Dependency
108+
109+
```bash
110+
curl -X POST http://localhost:8080/api/v1/execute/async/swe-planner.build \
111+
-H "Content-Type: application/json" \
112+
-d '{
113+
"input": {
114+
"goal": "Add JWT auth across API and shared-lib",
115+
"config": {
116+
"repos": [
117+
{
118+
"repo_url": "https://github.com/org/main-app",
119+
"role": "primary"
120+
},
121+
{
122+
"repo_url": "https://github.com/org/shared-lib",
123+
"role": "dependency"
124+
}
125+
],
126+
"runtime": "claude_code",
127+
"models": {
128+
"default": "sonnet"
129+
}
130+
}
131+
}
132+
}'
133+
```
134+
135+
**Repository roles:**
136+
- `primary`: The main application being built. Changes here drive the build; failures block progress.
137+
- `dependency`: Libraries or services that may be modified to support the primary repo. Failures are captured but don't block primary build progress.
138+
139+
### Use Cases
140+
141+
- **Primary App + Shared Libraries**: Coordinate changes between a web application and its shared utilities/SDK.
142+
- **Monorepo Sub-Projects**: Define multiple repos in a monorepo structure and orchestrate cross-package changes.
143+
- **Microservices**: When a feature spans an API service and a worker service, define roles to manage interdependencies.
144+
103145
## Requirements for open_code Runtime
104146

105147
1. `opencode` CLI installed and in PATH

0 commit comments

Comments
 (0)