diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d308323a5..6c9ec0447 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -92,7 +92,7 @@ jobs: fi # WHY no hard-fail when both secrets are absent: every submodule - # repo (the five Juliusolsson05 packages/* repos and openai/codex) + # repo (every Juliusolsson05 packages/* repo and openai/codex) # is PUBLIC, so the plain HTTPS URLs in .gitmodules clone fine # anonymously. The exit-1 here predated the repos going public and # contradicted README.md's "no special access needed" (#506 @@ -198,7 +198,7 @@ jobs: fi # WHY no hard-fail when both secrets are absent: every submodule - # repo (the five Juliusolsson05 packages/* repos and openai/codex) + # repo (every Juliusolsson05 packages/* repo and openai/codex) # is PUBLIC, so the plain HTTPS URLs in .gitmodules clone fine # anonymously. The exit-1 here predated the repos going public and # contradicted README.md's "no special access needed" (#506 diff --git a/.gitmodules b/.gitmodules index fdb440b40..487678196 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "packages/workflow-mcp"] path = packages/workflow-mcp url = https://github.com/Juliusolsson05/workflow-mcp.git +[submodule "packages/agent-code-extension-api"] + path = packages/agent-code-extension-api + url = https://github.com/Juliusolsson05/agent-code-extension-api.git diff --git a/docs/extensions/authoring.md b/docs/extensions/authoring.md new file mode 100644 index 000000000..77bd77761 --- /dev/null +++ b/docs/extensions/authoring.md @@ -0,0 +1,477 @@ +# Writing an Agent Code extension + +> **Status:** live. API version **1**. +> +> This document is the contract. Where it and the code disagree, the code wins and +> this document is the bug — it has been wrong before, in the way described in §3. + +An extension is a **GitHub repository** containing a manifest and a built ES +module. Agent Code downloads it, validates it, and runs it **inside a sandboxed +iframe at its own origin**. Nothing is compiled into the app. + +``` +Settings → Extensions → owner/repo → Install +``` + +--- + +## 0. The execution model — read this first + +Your extension does **not** run in Agent Code's renderer. It runs in a separate +document served from `agent-code-ext:///`, embedded in a sandboxed +`