AI agent guide
This page is written for Cursor, Copilot, Claude Code, and other agents editing FetchCatch workspaces.
Before you edit
- Read
.fetchcatch/AGENTS.mdin the consumer repo (bootstrap pointers). - Prefer the website docs for human context: https://fetchcatch.com/docs
- Fetch the doc manifest:
https://fetchcatch.com/docs/manifest.json - Use the latest doc base URL from the manifest (currently
https://fetchcatch.com/docs/v0.1/). - Prefer pulling docs as raw markdown:
{baseUrl}/ai-agent-guide.md
Discovery file: https://fetchcatch.com/llms.txt
Your scope
| In scope | Out of scope |
|---|---|
.fetchcatch/flows/*.json |
~/.fetchcatch/ credentials |
.fetchcatch/response-types/*.json |
Server-side C# / infra in product repo |
.fetchcatch/project.json (rarely) |
Inventing API source GUIDs |
Running fcc status, fcc apply --dry-run |
Publishing without user approval (fcc publish) |
fcc run <runId> --json to inspect evaluate traces |
— |
Inspect an evaluate run
When a flow run fails, pauses, or returns unexpected output:
fcc run <runId> --json
Review status, step trace, errors, and output. For waiting runs, note
waitingForEvent and resume with POST /v1/runs/{runId}/resume.
Task patterns
Add a branch to a flow
- Read the flow JSON and flow-nodes.md.
- Add nodes with valid ids (
^[A-Za-z_][A-Za-z0-9_]*$). - Wire edges; set
"when"on condition branches. - Add
descriptionon new nodes explaining intent. - Suggest user run
fcc status.
Change a JSONata expression
- Read expressions-jsonata.md.
- Edit only the
expressionorinputs/responseValuesfields. - Preserve unrelated nodes and positions.
Add a response field
- Edit response type JSON (response-types.md).
- Update all
decision.responseValuesin dependent flows in the same change. - Apply response type before flows if applying separately.
Set up CI sync
Copy and adapt sync-and-ci.md and docs/examples/fetchcatch-sync.workflow.yml.
Hard rules
- Never change resource
idGUIDs after they exist on the server. - Never fabricate
apiSourceId— ask the user to configure API sources in the console or pull existing flows. - Leave
"publish": false(or omit the field) in flow JSON. Do not set"publish": true— it is legacy; ship withfcc publishor the console instead. - Do not delete
sync-state.json. - Deleting flows: console trash icon, or remove
flows/{slug}.jsonlocally andfcc apply. After a console delete, recommendfcc pull. - Validate graph structure: one start, reachable nodes, condition edges have
when. - After edits, recommend:
fcc status→ review →fcc apply→fcc publish(when the user wants runtime evaluate).
Schema version
All resources use schemaVersion: 1. If you encounter a different version, fetch the matching doc version from manifest.json instead of guessing.
CLI quick reference
fcc pull # download latest from server
fcc status # diff local vs remote
fcc plan # preview push / pull / conflicts
fcc apply --dry-run
fcc apply # push drafts
fcc publish # ship callable versions for /v1/evaluate
fcc run <runId> --json # fetch evaluate run + step trace
Full documentation index
| Page | URL path |
|---|---|
| Getting started | getting-started.md |
| CLI | cli-reference.md |
| Workspace layout | workspace-layout.md |
| Flow schema | flow-graph-schema.md |
| Node types | flow-nodes.md |
| JSONata | expressions-jsonata.md |
| Response types | response-types.md |
| Evaluate API | evaluate-api.md |
| Sync / CI | sync-and-ci.md |
Base: https://fetchcatch.com/docs/v0.1/