Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.simplefunctions.dev/llms.txt

Use this file to discover all available pages before exploring further.

Use the manifest when an agent needs to know which sf command to call, what arguments it needs, whether it can emit JSON, and whether it has side effects.
sf describe --all --json
For a single command:
sf describe portfolio history --json
sf describe world --json
sf describe agent --json
For task-oriented discovery:
sf tools search "market screener" --json
sf tools search "portfolio history" --json
sf tools search "run headless agent" --json

sf describe

sf describe returns command metadata directly. With --all, stdout is an array of command entries.
sf describe --all --json
[
  {
    "name": "portfolio history",
    "path": ["portfolio", "history"],
    "summary": "Recent ticks and trades",
    "args": [],
    "options": ["--json", "--since", "--until", "--cursor", "--ticks", "--trades"],
    "auth_required": true,
    "side_effects": false,
    "requires": ["sf_api"],
    "policy_tags": ["user_data", "read"],
    "side_effect_level": "none",
    "json_capable": true,
    "examples": ["sf portfolio history --json --ticks 5 --trades 5"]
  }
]

sf tools

sf tools --json wraps the same catalog in the standard CLI envelope.
sf tools --json
{
  "ok": true,
  "command": "tools",
  "data": {
    "tools": []
  },
  "meta": {
    "count": 104
  }
}
Use this when the caller expects every CLI-owned response to have ok, command, data, and meta. Search scores the command name, summary, options, policy tags, requirements, and examples.
sf tools search "world delta" --json --limit 3
{
  "ok": true,
  "command": "tools.search",
  "data": {
    "query": "world delta",
    "matches": [
      {
        "score": 6,
        "name": "world",
        "path": ["world"],
        "summary": "Real-time world state",
        "options": ["--json", "--delta", "--since", "--focus", "--op"],
        "requires": [],
        "policy_tags": ["market_data", "read"],
        "side_effect_level": "none",
        "json_capable": true
      }
    ]
  },
  "meta": {
    "limit": 3,
    "count": 1
  }
}

Fields

FieldMeaning
nameSpace-separated CLI command name, for example portfolio history.
pathCommand tokens as an array.
summaryCommander description from the CLI.
argsPositional arguments with name, required, and type.
optionsSupported option names, for example --json, --limit, --since.
auth_requiredtrue when the command requires SimpleFunctions API auth.
side_effectstrue when the command can write, run a daemon, or trade.
requiresLocal requirements such as sf_api, kalshi, llm, or polymarket_wallet.
policy_tagsAgent policy labels such as read, market_data, user_data, write, runtime, trade, execution, research.
side_effect_levelOne of none, write, runtime, or trade.
json_capableWhether the command declares a --json option.
examplesCopyable command examples or a fallback sf <command> --help.

Side-effect levels

LevelUse
noneRead-only command. Safe for autonomous data collection.
writeMutates SimpleFunctions state, such as creating theses, posting forum messages, or changing watchlists.
runtimeStarts, stops, or controls a local/cloud runtime.
tradeCan create execution intents or place/cancel orders.
Agents should start with side_effect_level: "none". Require explicit user authorization before calling write, runtime, or trade tools.

Agent loop

sf describe --all --json
sf tools search "inspect one market" --json
sf describe inspect --json
sf inspect KXRATECUT-26DEC31 --json
The manifest is local. It describes the installed CLI version, so agents should refresh it after sf update.