For agents
sexc is built to be driven by programs as much as by people. Nothing asks a question interactively, every command can answer in JSON, and every page of this site is plain text if you ask for it.
MCP
sexc-mcp is an MCP server over stdio. It reads sexc help --json and offers every command as a tool (sexc_build, sexc_test, sexc_ls, ...), so new commands appear without changing the server.
$ claude mcp add sexc -- $PWD/.sexc/out/debug/bin/sexc-mcp --dir $PWD
# or, in any MCP client's config:
# { "command": "sexc-mcp", "args": [] }JSON
With --json, a command prints one JSON document and nothing else. Build errors come back as data: for each diagnostic its file, line, column, severity and message, plus the compiler's full output and the exact command that failed.
$ sexc help --json # every command, argument and flag
$ sexc build --json # results and diagnostics
$ sexc ls --json # the packagesThe registry
The registry's HTTP API is JSON, documented in api.txt. Every package page has a .json twin with the same data, and sexc search, info, add, install and publish take --json and are MCP tools like the rest. Give an agent a token, not a password: make one on settings/tokens and pass it as SEXC_TOKEN.
llms.txt
/llms.txt describes sexc for language models: what it is, the manifest, the commands, the registry API, and where to read more. /llms-full.txt is that plus every page of these docs.
Plain text
Fetch any page without asking for HTML and you get text: headings underlined, links as [label](href), code fenced. Browsers can add ?plain.
$ curl https://sexc.dev/docs/cli.txtEvery line of code in sexc is C. That's in the repository's AGENTS.md, and it applies to agents too: no scripts in other languages, not even to glue things together.