<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Cloudflare changelogs | Artifacts</title><description>Cloudflare changelogs for Artifacts</description><link>https://developers.stormtrust.net/changelog/</link><item><title>Artifacts - Data localization support for Artifacts</title><link>https://developers.stormtrust.net/changelog/post/2026-08-13-artifacts-jurisdictions/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-08-13-artifacts-jurisdictions/</guid><description>&lt;p&gt;Artifacts now supports jurisdictions, allowing you to select the European Union or the United States as the only location where repo data is stored and processed.&lt;/p&gt;
&lt;p&gt;Select a jurisdiction when you create a namespace. Every repo in that namespace automatically uses the selected jurisdiction.&lt;/p&gt;
&lt;figure class=&quot;nb-code-figure&quot; data-nb-lang=&quot;bash&quot;&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot; data-nb-lang=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;curl&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; --request&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; POST&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;  &quot;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;/artifacts/namespaces&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;  --header&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &quot;Authorization: Bearer &lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;$CLOUDFLARE_API_TOKEN&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;  --header&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;  --data&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &apos;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;    &quot;namespace&quot;: &quot;my-eu-namespace&quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;    &quot;jurisdiction&quot;: &quot;eu&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;  }&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;
&lt;p&gt;Jurisdictions cannot be changed after namespace creation. If you omit the jurisdiction, Artifacts creates an unrestricted namespace.&lt;/p&gt;
&lt;p&gt;For supported jurisdictions and usage details, refer to &lt;a href=&quot;https://developers.stormtrust.net/artifacts/guides/data-localization/&quot;&gt;Data localization&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><product>Artifacts</product><category>Artifacts</category></item><item><title>Artifacts, Workflows - Build and deploy Artifacts repos on every push</title><link>https://developers.stormtrust.net/changelog/post/2026-08-04-build-and-deploy-on-push/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-08-04-build-and-deploy-on-push/</guid><description>
&lt;p&gt;You can now run your CI/CD pipeline on your &lt;a href=&quot;https://developers.stormtrust.net/artifacts/&quot;&gt;Artifacts&lt;/a&gt; repo by defining a CI &lt;a href=&quot;https://developers.stormtrust.net/workflows/&quot;&gt;Workflow&lt;/a&gt; with the &lt;a href=&quot;https://github.com/cloudflare/ci&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;CI SDK&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt;, automatically triggered on Artifacts push events.&lt;/p&gt;
&lt;p&gt;This allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatically build and deploy application code stored in Artifacts.&lt;/li&gt;
&lt;li&gt;Run linting, type checking, tests, and other checks on every push.&lt;/li&gt;
&lt;li&gt;Reuse dependencies when the lockfile (i.e. &lt;code&gt;pnpm-lock.yaml&lt;/code&gt;) has not changed.&lt;/li&gt;
&lt;li&gt;Stop deployment when a check or build fails.&lt;/li&gt;
&lt;li&gt;Restrict API token access to the deployment step.&lt;/li&gt;
&lt;li&gt;Deploy the output to a &lt;a href=&quot;https://developers.stormtrust.net/workers/&quot;&gt;Worker&lt;/a&gt; or a &lt;a href=&quot;https://developers.stormtrust.net/cloudflare-for-platforms/workers-for-platforms/&quot;&gt;Workers for Platforms&lt;/a&gt; User Worker.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Define your CI steps with &lt;code&gt;@cloudflare/ci&lt;/code&gt;. Each &lt;code&gt;ci.runner()&lt;/code&gt; spins up an isolated sandbox, and the &lt;code&gt;cache&lt;/code&gt; option reuses installed dependencies across each sandboxed step in your CI job.&lt;/p&gt;
&lt;p&gt;Point &lt;code&gt;cache.inputs&lt;/code&gt; at your lockfile (i.e. &lt;code&gt;pnpm-lock.yaml&lt;/code&gt;, &lt;code&gt;bun.lock&lt;/code&gt;), and the install step only runs again when that lockfile changes:&lt;/p&gt;
&lt;div&gt;&lt;div data-nb-tabs data-nb-sync-key=&quot;workersExamples&quot; class&gt;&lt;div class=&quot;relative flex border-b border-border&quot; role=&quot;tablist&quot; data-nb-tabs-list&gt;&lt;span class=&quot;bg-primary pointer-events-none absolute -bottom-px h-0.5 rounded-t-sm transition-[left,width] duration-200 ease-out&quot; data-nb-tabs-indicator aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;mt-3&quot;&gt;&lt;div role=&quot;tabpanel&quot; data-nb-tabs-content data-nb-tab-label=&quot;JavaScript&quot; class&gt;&lt;figure class=&quot;nb-code-figure nb-code-figure-titled&quot; data-nb-lang=&quot;js&quot;&gt;&lt;figcaption class=&quot;nb-code-title&quot;&gt;&lt;span class=&quot;nb-code-title-name&quot;&gt;src/index.js&lt;/span&gt;&lt;span class=&quot;nb-code-title-lang&quot;&gt;js&lt;/span&gt;&lt;/figcaption&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot; data-nb-lang=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; deps&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; =&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; await&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; ci.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;install&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun install --frozen-lockfile&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	cache: { inputs: [&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;package.json&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun.lock&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;] },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;});&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;await&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; Promise&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;([&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;lint&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run lint&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;test&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run test&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;typecheck&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run typecheck&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;build&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run build&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;]);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;await&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;deploy&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun wrangler deploy&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; });&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div role=&quot;tabpanel&quot; data-nb-tabs-content data-nb-tab-label=&quot;TypeScript&quot; class&gt;&lt;figure class=&quot;nb-code-figure nb-code-figure-titled&quot; data-nb-lang=&quot;ts&quot;&gt;&lt;figcaption class=&quot;nb-code-title&quot;&gt;&lt;span class=&quot;nb-code-title-name&quot;&gt;src/index.ts&lt;/span&gt;&lt;span class=&quot;nb-code-title-lang&quot;&gt;ts&lt;/span&gt;&lt;/figcaption&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot; data-nb-lang=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; deps&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; =&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; await&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; ci.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;install&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun install --frozen-lockfile&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	cache: { inputs: [&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;package.json&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun.lock&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;] },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;});&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;await&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; Promise&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;([&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;lint&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run lint&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;test&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run test&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;typecheck&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run typecheck&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;build&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun run build&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;]);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;await&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; deps.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;runner&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;({ name: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;deploy&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;, command: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;bun wrangler deploy&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; });&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To start the Workflow automatically after each push, add a &lt;code&gt;cf.artifacts.repo.pushed&lt;/code&gt; trigger to your Wrangler configuration:&lt;/p&gt;
&lt;div data-nb-tabs data-nb-sync-key=&quot;wranglerConfig&quot; class&gt;&lt;div class=&quot;relative flex border-b border-border&quot; role=&quot;tablist&quot; data-nb-tabs-list&gt;&lt;span class=&quot;bg-primary pointer-events-none absolute -bottom-px h-0.5 rounded-t-sm transition-[left,width] duration-200 ease-out&quot; data-nb-tabs-indicator aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;mt-3&quot;&gt;&lt;div role=&quot;tabpanel&quot; data-nb-tabs-content data-nb-tab-label=&quot;wrangler.jsonc&quot; class&gt;&lt;figure class=&quot;nb-code-figure&quot; data-nb-lang=&quot;jsonc&quot;&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;jsonc&quot; data-nb-lang=&quot;jsonc&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;	&quot;triggers&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;		&quot;events&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;			{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;				&quot;type&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;cf.artifacts.repo.pushed&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;				&quot;filter&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;					&quot;namespace&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;CI&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;					&quot;repoName&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;my-repo&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;				},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;				&quot;target&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;					&quot;scriptName&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;my-ci-worker&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;					&quot;workflowName&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;ci-workflow&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;				},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;			},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;		],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;	},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div role=&quot;tabpanel&quot; data-nb-tabs-content data-nb-tab-label=&quot;wrangler.toml&quot; class&gt;&lt;figure class=&quot;nb-code-figure&quot; data-nb-lang=&quot;toml&quot;&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;toml&quot; data-nb-lang=&quot;toml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;triggers&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;events&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;]]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;type = &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;cf.artifacts.repo.pushed&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;  [&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;triggers&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;events&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;filter&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;  namespace = &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;CI&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;  repoName = &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;my-repo&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;  [&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;triggers&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;events&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;  scriptName = &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;my-ci-worker&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;  workflowName = &lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;ci-workflow&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;script type=&quot;module&quot; src=&quot;https://developers.stormtrust.net/home/runner/work/infrastructure/infrastructure/org/apps/developers/src/components/ui/tabs/Tabs.astro?astro&amp;type=script&amp;index=0&amp;lang.ts&quot;&gt;&lt;/script&gt;
&lt;p&gt;To learn more, refer to &lt;a href=&quot;https://developers.stormtrust.net/artifacts/guides/build-and-deploy-on-push/&quot;&gt;Build and deploy Artifacts repos&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><product>Artifacts</product><category>Artifacts</category><category>Workflows</category></item><item><title>Artifacts - Manage Artifacts from the Cloudflare dashboard</title><link>https://developers.stormtrust.net/changelog/post/2026-06-17-dashboard-management/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-06-17-dashboard-management/</guid><description>&lt;p&gt;You can now configure &lt;a href=&quot;https://developers.stormtrust.net/artifacts/concepts/how-artifacts-works/&quot;&gt;Artifacts&lt;/a&gt; namespaces, repos, and tokens directly from the Cloudflare dashboard.&lt;/p&gt;
&lt;p&gt;Artifacts is Git-compatible storage that lets you store repos on Cloudflare and interact with them using standard Git workflows.&lt;/p&gt;
&lt;p&gt;You can view and create &lt;a href=&quot;https://developers.stormtrust.net/artifacts/concepts/namespaces/#use-namespaces-as-containers&quot;&gt;namespaces&lt;/a&gt;, which are top-level containers for repos:&lt;/p&gt;
&lt;img src=&quot;https://developers.stormtrust.net/cdn-cgi/image/onerror=redirect,width=1804,height=598,format=webp/_astro/dashboard-namespaces.0BJelWZh.png&quot; alt=&quot;Artifacts namespaces dashboard showing namespace search and create namespace controls&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1804&quot; height=&quot;598&quot;&gt;
&lt;p&gt;You can view, create, fork, and search repos within a namespace:&lt;/p&gt;
&lt;img src=&quot;https://developers.stormtrust.net/cdn-cgi/image/onerror=redirect,width=1874,height=592,format=webp/_astro/dashboard-repositories.M9P9JUL_.png&quot; alt=&quot;Artifacts repositories dashboard showing repo source, access, and created columns&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1874&quot; height=&quot;592&quot;&gt;
&lt;p&gt;You can open a repo to view its files and copy its Git remote URL.&lt;/p&gt;
&lt;img src=&quot;https://developers.stormtrust.net/cdn-cgi/image/onerror=redirect,width=2194,height=806,format=webp/_astro/dashboard-repo-overview.CSHxrCW2.png&quot; alt=&quot;Artifacts repository overview showing files, commits, token management, and quick actions&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;2194&quot; height=&quot;806&quot;&gt;
&lt;p&gt;You can also provision tokens directly from the dashboard to scope Git access to a single repo, with read tokens for clone, fetch, and pull workflows, or write tokens when a client needs to push changes.&lt;/p&gt;
&lt;p&gt;To get started, go to the &lt;a href=&quot;https://dash.cloudflare.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cloudflare dashboard&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt; and select &lt;strong&gt;Storage &amp;amp; databases&lt;/strong&gt; &amp;gt; &lt;strong&gt;Artifacts&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If you are enrolled in the Artifacts beta, you can use the dashboard to set up Artifacts. If you would like to join the beta, complete the &lt;a href=&quot;https://forms.gle/DwBoPRa3CWQ8ajFp7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;request form&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 17 Jun 2026 12:00:00 GMT</pubDate><product>Artifacts</product><category>Artifacts</category></item><item><title>Artifacts, Queues - Event subscriptions for Artifacts lifecycle events</title><link>https://developers.stormtrust.net/changelog/post/2026-05-19-event-subscriptions/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-05-19-event-subscriptions/</guid><description>&lt;p&gt;You can now receive &lt;a href=&quot;https://developers.stormtrust.net/queues/event-subscriptions/&quot;&gt;event notifications&lt;/a&gt; for &lt;a href=&quot;https://developers.stormtrust.net/artifacts/&quot;&gt;Artifacts&lt;/a&gt; repository changes and consume them from a Worker to build commit-driven automation.&lt;/p&gt;
&lt;p&gt;This allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Run custom workflows when a repository is created or imported&lt;/li&gt;
&lt;li&gt;Kick off a build and deploy a change when an agent pushes to a repo&lt;/li&gt;
&lt;li&gt;Trigger a review agent on every push&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Available events include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Account-level events&lt;/strong&gt; (&lt;code&gt;artifacts&lt;/code&gt; source) — &lt;code&gt;repo.created&lt;/code&gt;, &lt;code&gt;repo.deleted&lt;/code&gt;, &lt;code&gt;repo.forked&lt;/code&gt;, &lt;code&gt;repo.imported&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repository-level events&lt;/strong&gt; (&lt;code&gt;artifacts.repo&lt;/code&gt; source) — &lt;code&gt;pushed&lt;/code&gt;, &lt;code&gt;cloned&lt;/code&gt;, &lt;code&gt;fetched&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To learn more, refer to &lt;a href=&quot;https://developers.stormtrust.net/artifacts/guides/event-subscriptions/&quot;&gt;Artifacts documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate><product>Artifacts</product><category>Artifacts</category><category>Queues</category></item><item><title>Artifacts - Manage Artifacts namespaces and repos with Wrangler CLI</title><link>https://developers.stormtrust.net/changelog/post/2026-05-18-wrangler-support/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-05-18-wrangler-support/</guid><description>&lt;p&gt;You can now manage &lt;a href=&quot;https://developers.stormtrust.net/artifacts/&quot;&gt;Artifacts&lt;/a&gt; namespaces, repos, and repo-scoped tokens directly from Wrangler CLI.&lt;/p&gt;
&lt;p&gt;Available commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts namespaces list&lt;/code&gt; — List Artifacts namespaces in your account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts namespaces get&lt;/code&gt; — Get metadata for a namespace.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts repos create&lt;/code&gt; — Create a repo in a namespace.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts repos list&lt;/code&gt; — List repos in a namespace.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts repos get&lt;/code&gt; — Get metadata for a repo.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts repos delete&lt;/code&gt; — Delete a repo.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler artifacts repos issue-token&lt;/code&gt; — Issue a repo-scoped token for Git access.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://developers.stormtrust.net/workers/wrangler/commands/artifacts/&quot;&gt;Wrangler Artifacts commands documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><product>Artifacts</product><category>Artifacts</category></item><item><title>Artifacts - Artifacts now in beta: versioned filesystem with Git access</title><link>https://developers.stormtrust.net/changelog/post/2026-04-16-artifacts-now-in-beta/</link><guid isPermaLink="true">https://developers.stormtrust.net/changelog/post/2026-04-16-artifacts-now-in-beta/</guid><description>&lt;p&gt;&lt;a href=&quot;https://developers.stormtrust.net/artifacts/&quot;&gt;Artifacts&lt;/a&gt; is now in private beta. Artifacts is Git-compatible storage built for scale: create tens of millions of repos, fork from any remote, and hand off a URL to any Git client. It provides a versioned filesystem for storing and exchanging file trees across Workers, the REST API, and any Git client, running locally or within an agent.&lt;/p&gt;
&lt;p&gt;You can &lt;a href=&quot;https://blog.cloudflare.com/artifacts-git-for-agents-beta/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;read the announcement blog&lt;span class=&quot;external-link&quot;&gt; ↗&lt;/span&gt;&lt;/a&gt; to learn more about what Artifacts does, how it works, and how to create repositories for your agents to use.&lt;/p&gt;
&lt;p&gt;Artifacts has three API surfaces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Workers bindings (for creating and managing repositories)&lt;/li&gt;
&lt;li&gt;REST API (for creating and managing repos from any other compute platform)&lt;/li&gt;
&lt;li&gt;Git protocol (for interacting with repos)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As an example: you can use the Workers binding to create a repo and read back its remote URL:&lt;/p&gt;
&lt;figure class=&quot;nb-code-figure&quot; data-nb-lang=&quot;ts&quot;&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot; data-nb-lang=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;# Create a thousand, a million or ten million &lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;repos&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;: one for every agent, for every upstream branch, or every user.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; created&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; =&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; await&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; env.&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt;PROD_ARTIFACTS&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;agent-007&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; remote&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt; =&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; (&lt;/span&gt;&lt;span class=&quot;nb-shiki-1itgoe&quot;&gt;await&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt; created.repo.&lt;/span&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;())?.remote;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;
&lt;p&gt;Or, use the REST API to create a repo inside a namespace from your agent(s) running on any platform:&lt;/p&gt;
&lt;figure class=&quot;nb-code-figure&quot; data-nb-lang=&quot;bash&quot;&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot; data-nb-lang=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;curl&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; --request&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; POST&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &quot;https://artifacts.cloudflare.net/v1/api/namespaces/some-namespace/repos&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; --header&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &quot;Authorization: Bearer &lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;$CLOUDFLARE_API_TOKEN&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; --header&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span class=&quot;nb-shiki-dzsirb&quot;&gt; --data&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; &apos;{&quot;name&quot;:&quot;agent-007&quot;}&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;
&lt;p&gt;Any Git client that speaks smart HTTP can use the returned remote URL:&lt;/p&gt;
&lt;figure class=&quot;nb-code-figure&quot; data-nb-lang=&quot;bash&quot;&gt;&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot; data-nb-lang=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-21nrsd&quot;&gt;# Agents know git.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-21nrsd&quot;&gt;# Every repository can act as a git repo, allowing agents to interact with Artifacts the way they know best: using the git CLI.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;nb-shiki-1t8gfj&quot;&gt;git&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; clone&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt; https://x:&lt;/span&gt;&lt;span class=&quot;nb-shiki-140thh&quot;&gt;${REPO_TOKEN}&lt;/span&gt;&lt;span class=&quot;nb-shiki-mdbnqw&quot;&gt;@artifacts.cloudflare.net/some-namespace/agent-007.git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;
&lt;p&gt;To learn more, refer to &lt;a href=&quot;https://developers.stormtrust.net/artifacts/get-started/&quot;&gt;Get started&lt;/a&gt;, &lt;a href=&quot;https://developers.stormtrust.net/artifacts/api/workers-binding/&quot;&gt;Workers binding&lt;/a&gt;, and &lt;a href=&quot;https://developers.stormtrust.net/artifacts/api/git-protocol/&quot;&gt;Git protocol&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><product>Artifacts</product><category>Artifacts</category></item></channel></rss>