How fullsend-ai/fullsend works
Fullsend is an autonomous software-development agent for Git-hosted organizations. Its documented user-facing loop is to triage issues, implement changes, review code, and merge; the repository also exposes organization setup and repository enrollment, plus Jira polling and runtime skill fetching. The graph highlights those product stages and the agent execution/security layer. Some links are documented at product level rather than shown in sampled call sites; those use README evidence, and uncertain wiring is omitted.
Main entry points: compose.go Agent harness · pi_run.go Agent runtime · appsetup.go App setup · cli Fullsend CLI
Components 20
Product entry
- Fullsend CLI
internal/cli
Forge integrations
- Forge APIs
internal/forge/forge.go - GitHub client
internal/forge/github/github.go - Jira client
internal/forge/jira/client.go - Jira poller
internal/jirapoll/poller.go - Tracker adapter
internal/tracker/jira_client.go - Status comments
internal/statuscomment/statuscomment.go
Agent execution
- Agent harness
internal/harness/compose.go - Agent runtime
internal/runtime/pi_run.go - Sandbox
internal/sandbox/sandbox.go - Tool security
internal/security/hooks/context_suppress_posttool.py - Task resolution
internal/resolve/resolve.go - Model inference
internal/inference/inference.go
Organization operations
- App setup
internal/appsetup/appsetup.go - Repo enrollment
internal/layers/enrollment.go
Runtime services
- Skill fetch service
internal/fetchsvc/service.go - Skill cache
internal/fetch/cache.go - Git tree fetch
internal/gitfetch/gitfetch.go - Token mint
internal/mintcore/handler.go
Other components
- Git organization
Connections 20
- Git organization → Fullsend CLI: initiates setup
- Fullsend CLI → App setup: configures organization
- App setup → Forge APIs: uses forge APIs
internal/appsetup/appsetup.go - App setup → GitHub client: uses GitHub
internal/appsetup/appsetup.go - App setup → Token mint: uses token mint
internal/appsetup/appsetup.go - Fullsend CLI → Repo enrollment: enrolls repositories
- Repo enrollment → Forge APIs: dispatches workflows
internal/layers/enrollment.go - Git organization → Jira poller: provides issues
- Jira poller → Jira client: polls Jira
internal/jirapoll/poller.go - Tracker adapter → Jira client: adapts Jira calls
internal/tracker/jira_client.go - Status comments → Tracker adapter: uses tracker
internal/statuscomment/statuscomment.go - Git organization → Agent harness: requests agent work
- Agent harness → Task resolution: resolves tasks
internal/harness/compose.go - Agent harness → Git tree fetch: fetches repository trees
internal/harness/compose.go - Agent harness → Agent runtime: prepares agent run
- Agent runtime → Sandbox: runs sandboxed
internal/runtime/pi_run.go - Agent runtime → Model inference: requests inference
- Agent runtime → Tool security: enforces tool controls
- Skill fetch service → Skill cache: reads and writes cache
internal/fetchsvc/service.go - Skill fetch service → Git tree fetch: fetches skill trees
internal/fetchsvc/service.go