Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ fp supports extensions that hook into issue lifecycle events. The [`extensions/`
| [`backlog-researcher`](extensions/backlog-researcher) | Intermediate | Spawns Claude to research new issues |
| [`jj-workspace`](extensions/jj-workspace) | Advanced | Manages jj workspaces tied to issue lifecycle |
| [`cursor-agent`](extensions/cursor-agent) | Advanced | Dispatches issues to a Cursor agent with polling |
| [`claude-role-pool`](extensions/claude-role-pool) | Advanced | Maintains a pool of Docker sandboxes per role and dispatches issues to them |

Start with `hello-hooks` and work your way up. Each example has its own README.

Expand Down
2 changes: 2 additions & 0 deletions extensions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ This directory is a teaching ladder for FP extensions, from logging-only hooks t
| `backlog-researcher` | Intermediate | `issue:created` | Runs `claude`, posts comments | Requires `claude` CLI |
| `jj-workspace` | Advanced | `issue:status:changing`, `issue:status:changed` | Creates/deletes jj bookmarks and workspaces | Requires `jj`; install command available in workspace |
| `cursor-agent` | Advanced | `registerProperty`, `registerAction`, `secrets`, `notify` | Launches external agent, polls status, posts comments | Requires Cursor API key (desktop only) |
| `claude-role-pool` | Advanced | `registerProperty`, `registerAction`, `issue:created`, `issue:updated`, `notify` | Provisions Docker sandboxes per role and dispatches issues to them | Requires `sbx` CLI and a sandbox template image (desktop only) |

## Suggested learning order

Expand All @@ -25,3 +26,4 @@ This directory is a teaching ladder for FP extensions, from logging-only hooks t
7. `backlog-researcher`
8. `jj-workspace`
9. `cursor-agent`
10. `claude-role-pool`
16 changes: 16 additions & 0 deletions extensions/claude-role-pool/.fp/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# FP CLI Configuration

project_id = "proj_claude_role_pool_example"
prefix = "CRP"

[extensions.claude-role-pool]
# Docker sandbox template used as the base for each role sandbox.
# Override with FP_SANDBOX_TEMPLATE env var or leave unset to use the default.
template = "docker/sandbox-templates:claude-code-docker"

# Repositories available for provisioning inside sandboxes. Each entry is
# shown as a multi-select option on the issue's "Repositories" property.
repository_catalog = [
{ id = "nocturne", label = "nocturne", url = "git@github.com:fiberplane/nocturne.git" },
{ id = "fp", label = "fp", url = "git@github.com:fiberplane/fp.git" },
]
Loading