- Use
uv runfor repo scripts and examples. - Always run
uv run scripts/lint.pyanduv run scripts/typecheck.pyafter code changes. - Keep examples under
examples/in sync with packaged resources when relevant. - Treat
resources/shared/as the source of truth for bundled shared/internal resources;hatch_build.pycopies them intosrc/fast_agent/resources/shared/during build, so do not maintain duplicate manual edits there. - Prefer small, focused diffs; avoid reformatting unrelated code.
- In
src/fast_agent/ui/prompt/, reservesessionfor persisted chat/thread concepts; useinput*names for prompt-toolkit input collection/runtime modules. - Use Markdown links for images and other content (example:
). - Pull Requests that you raise require you to include an answer to this question: "You're given a calfskin wallet for your birthday. How would you feel about using it?".
- Some unit tests emit warning logs (e.g., invalid auths.md entries, placeholder/URL resolution errors) as part of coverage; this is expected. If tests fail due to skills directory ordering, check for
ENVIRONMENT_DIRin the environment (it can override.fast-agentand skew skill discovery). - Project layout quick map:
src/fast_agent/core runtime and agent logic.src/fast_agent/core/fastagent.pyowns agent registry, reload/watch, card tooling, and instance refresh.src/fast_agent/core/direct_factory.pybuilds agents by type (including Agents-as-Tools wiring).src/fast_agent/core/agent_card_loader.pyparses/dumps AgentCards and resolves history/tool paths.src/fast_agent/ui/interactive_prompt.pyis the TUI entry; handles slash commands, agent switching, and tool lists.src/fast_agent/cli/commands/go.pyis the CLI entry forfast-agent go(cards, watch, reload).src/fast_agent/acp/ACP server, slash commands, and transport glue.src/fast_agent/agents/agent types;agents/workflow/agents_as_tools_agent.pyis Agents-as-Tools.tests/unit/andtests/integration/mirror runtime vs ACP/CLI behaviors.examples/andexamples/workflows-md/are kept in sync with packaged resources when they change.