-
Notifications
You must be signed in to change notification settings - Fork 92
docs: add Bring Your Own Agent guide and agent CLI reference #5255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
ggallen
merged 1 commit into
fullsend-ai:main
from
ggallen:worktree-bring-your-own-agent-docs
Jul 18, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,126 @@ | ||
| --- | ||
| sidebar_label: fullsend agent | ||
| --- | ||
|
|
||
| # fullsend agent | ||
|
|
||
| Manage agent registrations in fullsend config. Add, list, update, and remove agents, or migrate legacy `customized/` overrides to config-driven agents. | ||
|
|
||
|
ggallen marked this conversation as resolved.
|
||
| `agent add`, `agent update`, and `agent migrate-customizations` (non-dry-run) fetch remote content and resolve GitHub URLs. Authentication is via `gh` CLI or `GH_TOKEN` environment variable. | ||
|
|
||
| ## Commands | ||
|
|
||
| | Command | Description | | ||
| |---------|-------------| | ||
| | `fullsend agent add <url-or-path>` | Register an agent in config | | ||
| | `fullsend agent list` | List registered agents | | ||
| | `fullsend agent update <name> [sha]` | Update a URL agent to a new commit SHA | | ||
| | `fullsend agent remove <name>` | Remove an agent from config | | ||
| | `fullsend agent migrate-customizations` | Migrate `customized/` overrides to config-driven agents | | ||
|
|
||
| ## `agent add` | ||
|
|
||
| Register an agent in config by URL or local path. URL sources are automatically pinned to a specific commit SHA and annotated with a `#sha256=...` integrity hash. The URL prefix is added to `allowed_remote_resources` if not already present. | ||
|
|
||
| ```bash | ||
| fullsend agent add https://github.com/my-org/agents/blob/main/harness/lint.yaml --fullsend-dir .fullsend | ||
| fullsend agent add harness/custom-review.yaml --name my-review --fullsend-dir .fullsend | ||
| ``` | ||
|
|
||
| ### Flags | ||
|
|
||
| | Flag | Default | Description | | ||
| |------|---------|-------------| | ||
| | `--fullsend-dir` | | Base directory containing the `.fullsend` layout (required) | | ||
| | `--name` | derived from filename | Explicit agent name | | ||
|
|
||
| GitHub blob URLs are resolved to pinned `raw.githubusercontent.com` URLs. Non-GitHub URLs must already contain a commit SHA in the path. Local paths must be relative, must not contain path traversal (`..`), and the file must exist. If an agent with the same name already exists, the command fails. | ||
|
|
||
| ## `agent list` | ||
|
|
||
| List all agents registered in config, showing each agent's name and source. | ||
|
|
||
| ```bash | ||
| fullsend agent list --fullsend-dir .fullsend | ||
| ``` | ||
|
|
||
| ### Flags | ||
|
|
||
| | Flag | Default | Description | | ||
| |------|---------|-------------| | ||
| | `--fullsend-dir` | | Base directory containing the `.fullsend` layout (required) | | ||
|
|
||
| Read-only. Displays a table with `NAME` and `SOURCE` columns. For URL agents, the `#sha256=...` integrity hash suffix is stripped from the displayed source for readability. | ||
|
|
||
| Example output: | ||
| ``` | ||
| NAME SOURCE | ||
| triage https://raw.githubusercontent.com/fullsend-ai/agents/abc123/harness/triage.yaml | ||
| my-lint harness/my-lint.yaml | ||
| ``` | ||
|
|
||
| ## `agent update` | ||
|
|
||
| Update a URL-based agent to a new commit SHA and recompute the `#sha256=...` integrity hash. If no SHA is provided, the default branch HEAD is resolved automatically. | ||
|
|
||
| ```bash | ||
| fullsend agent update triage --fullsend-dir .fullsend | ||
|
ggallen marked this conversation as resolved.
|
||
| fullsend agent update triage a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 --fullsend-dir .fullsend | ||
| ``` | ||
|
|
||
| ### Flags | ||
|
|
||
| | Flag | Default | Description | | ||
| |------|---------|-------------| | ||
| | `--fullsend-dir` | | Base directory containing the `.fullsend` layout (required) | | ||
|
|
||
| Only URL agents can be updated — local path agents have nothing to pin. Non-GitHub URL agents require an explicit SHA argument. The integrity hash is recomputed by fetching the content at the new SHA. | ||
|
|
||
| ## `agent remove` | ||
|
|
||
| Remove an agent from config. If the removed agent was the last one using a given `allowed_remote_resources` prefix, that prefix is also cleaned up. | ||
|
|
||
| ```bash | ||
| fullsend agent remove triage --fullsend-dir .fullsend | ||
| ``` | ||
|
|
||
| ### Flags | ||
|
|
||
| | Flag | Default | Description | | ||
| |------|---------|-------------| | ||
| | `--fullsend-dir` | | Base directory containing the `.fullsend` layout (required) | | ||
|
|
||
| ## `agent migrate-customizations` | ||
|
|
||
| Scan the `customized/` directory and migrate each override to a config-driven agent. Changes are committed to a branch and delivered via pull request. Use `--dry-run` to preview changes without creating a PR. | ||
|
|
||
| ```bash | ||
| fullsend agent migrate-customizations --fullsend-dir .fullsend --dry-run | ||
| fullsend agent migrate-customizations --fullsend-dir .fullsend --repo owner/repo | ||
| ``` | ||
|
|
||
| ### Flags | ||
|
|
||
| | Flag | Default | Description | | ||
| |------|---------|-------------| | ||
| | `--fullsend-dir` | | Base directory containing the `.fullsend` layout (required) | | ||
| | `--repo` | | Target repository (`owner/repo`) for the migration PR (required unless `--dry-run`) | | ||
| | `--dry-run` | `false` | Show what would change without creating a PR | | ||
|
|
||
| ### Override classification | ||
|
|
||
| The tool classifies each override and takes the appropriate action: | ||
|
|
||
| | Override type | Detection | Action | | ||
| |---------------|-----------|--------| | ||
| | Dead | Agent already registered in config | Delete `customized/` files | | ||
| | Custom | Not in upstream scaffold | Move files to regular directories, register local path in config | | ||
| | Modified | Standard scaffold agent, not yet in config | Generate a `base:` composition harness with the minimal diff, register in config | | ||
|
|
||
| For modified agents, the migration produces a thin `base:` harness containing only the fields that differ from upstream. | ||
|
|
||
| ## See also | ||
|
|
||
| - [Bring Your Own Agent](../guides/user/bring-your-own-agent.md) — building custom agents and configuring existing ones | ||
| - [Default, derived, and custom agents](../agents/topics/default-vs-custom.md) — terminology and classification | ||
| - [Customizing with skills](../guides/user/customizing-with-skills.md) — extending agents with skills | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.