Skip to content

docs: tutorial for contributing a configurable env var to a default agent #845

Description

@guyoron1

What's missing

There is no contributor tutorial that walks through making a change to one of fullsend's default agents. A common scenario: a user tries a default agent, disagrees with a baked-in behavior, and wants to make it configurable. Today, figuring out how to contribute that change requires reading across multiple docs (customizing-agents.md, building-custom-agents.md, bring-your-own-agent.md, AGENTS.md, the agents repo) with no single narrative thread showing the contributor workflow end-to-end.

What should happen

A tutorial under docs/contributing/ (or docs/guides/user/) that uses a concrete worked example: taking a hardcoded behavior in one of the default agents, extracting it into an environment variable, wiring it through the harness env: block, documenting the new knob, and submitting the change upstream. The tutorial should cover:

  • Identifying where the behavior lives (agent definition vs. harness vs. script)
  • Adding an environment variable with a sensible default so existing users are unaffected
  • Wiring the variable through the harness YAML env.sandbox or env.runner section
  • Testing the change locally with fullsend run
  • Writing or updating tests
  • Submitting the PR following repo conventions (COMMITS.md, DCO, linting)

Context

The existing docs explain how to customize agents (override harnesses, add skills, bring your own agent) but not how to contribute changes back to the defaults. This gap makes the project harder to contribute to — users who want to improve the defaults for everyone don't have a clear path. A tutorial lowers the barrier and also serves as a reference for the conventions around agent parameterization.

Related: #579 (parameterization interface design) — this tutorial would initially cover the simpler env-var approach, and could be updated as the formal parameterization interface lands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    benchmark-pathBPath B benchmark issuespr-openAn open PR already addresses this issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions