skip to content
[readonly]

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 packages

The 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.txt
the rule

Every 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.