Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion axis-scenarios/ai-gateway/image-generation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default {
judge: [
{ check: "Uses the `@google/genai` package — image generation on the gateway is Gemini-only" },
{ check: "Does NOT use `@google/generative-ai` (older deprecated package) and does NOT attempt OpenAI image models like dall-e or gpt-image" },
{ check: "Uses a Gemini image model (e.g. 'gemini-2.5-flash-image' or 'gemini-3-pro-image-preview')" },
{ check: "Uses a Gemini image model (e.g. 'gemini-2.5-flash-image' or 'gemini-3-pro-image')" },
{ check: "Does NOT pass a custom apiKey or baseURL to the GoogleGenAI client — the gateway auto-configures it" },
{ check: "Does NOT read or set `GEMINI_API_KEY` / `GOOGLE_API_KEY` — those disable the gateway" },
{ check: "Extracts the image bytes from `response.candidates[0].content.parts[*].inlineData` (base64 string) rather than expecting a URL" },
Expand Down
2 changes: 1 addition & 1 deletion axis-scenarios/ai-gateway/image-to-image.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default {
},
{
check:
"Pins a Gemini IMAGE model (e.g. `gemini-2.5-flash-image`, `gemini-3.1-flash-image-preview`, or `gemini-3-pro-image-preview`).",
"Pins a Gemini IMAGE model (e.g. `gemini-2.5-flash-image`, `gemini-3.1-flash-image`, or `gemini-3-pro-image`).",
},
{
check:
Expand Down
9 changes: 5 additions & 4 deletions axis-scenarios/caching/tags-deploy-invalidation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ export default {
prompt:
"Create a Netlify function at /api/catalog whose JSON response is cached on Netlify's CDN and tagged so we can purge it on demand. Key requirement: a normal site deploy must NOT automatically wipe these cached responses — they should persist across deploys and only clear when we explicitly purge by tag. Also give me a separate /api/catalog/purge endpoint that does that explicit purge.",
judge: [
{ check: "Tags the cached response using the `Netlify-Cache-Tag` header (or `Cache-Tag`) with at least one tag like 'catalog' — does NOT use `Netlify-Cache-ID`" },
{ check: "Relies on / explains the behavior that responses carrying a cache tag are excluded from automatic deploy-based invalidation — they persist across deploys and clear only on explicit purge" },
{ check: "Sets a `Netlify-Cache-ID` header on the cached response with a stable id like 'catalog' — this both opts the response out of automatic deploy-based invalidation AND registers the id as a purge tag" },
{ check: "Does NOT rely on `Netlify-Cache-Tag` to survive deploys — that header is purge-only and its responses are still wiped by automatic deploy-based invalidation" },
{ check: "Relies on / explains the behavior that a response carrying `Netlify-Cache-ID` is excluded from automatic deploy-based invalidation — it persists across deploys and clears only on explicit purge" },
{ check: "Sets Netlify-CDN-Cache-Control with a meaningful s-maxage so the response is durably cached at the edge (not a near-zero TTL)" },
{ check: "The /api/catalog/purge endpoint calls purgeCache({ tags: ['catalog'] }) imported from '@netlify/functions', using the SAME tag string set on the response" },
{ check: "Does NOT propose triggering a new deploy or lowering the TTL as the invalidation mechanism — the requirement is explicit, targeted, deploy-surviving cache tags" },
{ check: "The /api/catalog/purge endpoint calls purgeCache({ tags: ['catalog'] }) imported from '@netlify/functions', using the SAME id string set as the response's `Netlify-Cache-ID` (the id doubles as a purge tag)" },
{ check: "Does NOT propose triggering a new deploy or lowering the TTL as the invalidation mechanism — the requirement is explicit, targeted, deploy-surviving caching" },
{ check: "Both endpoints use the modern Netlify function signature with config.path set" },
],
variants: withSkillVariants(),
Expand Down
2 changes: 1 addition & 1 deletion axis-scenarios/config/functions-directory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export default {
{ check: "Adds a `[functions]` block with `directory = 'src/server/functions'`" },
{ check: "Sets `node_bundler = 'esbuild'` inside the `[functions]` block" },
{ check: "Does NOT leave the directory at the default `netlify/functions` — the user explicitly wants a custom path" },
{ check: "Uses the single-table `[functions]` form for these global settings (not a `[[functions]]` array-of-tables entry, which is for per-path routing)" },
{ check: "Uses the single-table `[functions]` form for these global settings not a `[[functions]]` array-of-tables entry (no such construct exists in netlify.toml; per-function overrides use a `[functions.\"name-or-glob\"]` table)" },
{ check: "Does NOT invent unrelated keys (e.g. a made-up `bundler`/`runtime` field) — only `directory` and `node_bundler` are needed" },
],
variants: withSkillVariants(),
Expand Down
10 changes: 5 additions & 5 deletions codex/skills/netlify-ai-gateway/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 30 additions & 5 deletions codex/skills/netlify-caching/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion codex/skills/netlify-cli-and-deploy/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions codex/skills/netlify-deploy/references/netlify-toml.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion codex/skills/netlify-forms/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion codex/skills/netlify-frameworks/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion codex/skills/netlify-functions/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions cursor/rules/netlify-ai-gateway.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 30 additions & 5 deletions cursor/rules/netlify-caching.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cursor/rules/netlify-cli-and-deploy.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions cursor/rules/netlify-deploy-netlify-toml.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion cursor/rules/netlify-forms.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cursor/rules/netlify-frameworks.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cursor/rules/netlify-functions.mdc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading