feat(website): publish agent discovery documents for spiceai.org (#2319)
* feat(website): publish agent discovery documents for spiceai.org
Implement the isitagentready.com checks that apply to a static docs site:
- Serve each page as Markdown to requests that prefer text/markdown
(functions/_middleware.js, using the files the llms-txt plugin now writes)
- Send RFC 8288 Link headers on the homepage
- Publish an RFC 9727 API catalog and /openapi.json for the runtime HTTP API
- Publish the spiceai/skills v2.3.2 skills with an Agent Skills Discovery index
- Publish an ARD manifest at /.well-known/ard.json and ai-catalog.json
- Register WebMCP tools (search_docs, get_page_markdown)
- Declare Content Signals in robots.txt
* fix(website): download the agent skills at a pinned commit, not a tag
A tag can be moved to different content, and the index digests describe only the
downloaded bytes. Pin skillsCommit to the v2.3.2 release commit and reject an
archive of any other commit before publishing.
* fix(website): use the standard ARD media types for skills
A single SKILL.md is text/markdown; profile="urn:air:agent-skills" in the ARD
conformance definitions, not application/agent-skills+md. Drop the llms.txt entry,
whose plain text/markdown type ARD reads as a skill missing its profile.
* fix(website): read search result URLs with get_page_markdown on any deployment
search_docs returns canonical https://spiceai.org URLs, which get_page_markdown
rejected on preview and local deployments. Read the same path from the current
deployment instead. Also write the zero-width space regex as \u200b.
* fix(website): serve openapi.json with its OpenAPI media type, skip Functions for favicons
/openapi.json was served as application/json although the API catalog and Link
headers advertise application/vnd.oai.openapi+json. Root favicon requests invoked
the middleware; exclude them in _routes.json.
a month ago
build: upgrade to Node.js 26 LTS and latest packages (React 19, TypeScript 7, Tailwind CSS 4) (#2451)
* ci: run workflows on Node.js 26 and update actions
Node.js 26 entered Active LTS on 2026-10-28 and Node.js 24 moved to
maintenance on 2026-10-20.
- actions/checkout v3/v4 -> v7
- actions/setup-node v4 -> v7, node-version 24 -> 26
- actions/github-script v7 -> v9
- actions/labeler v5 -> v7
- cloudflare/wrangler-action v3.14.1 -> v4.1.3
- spiceai/pulls-with-spice-action v1.0.7 -> v2.0.0 (v3.0.0 is a prerelease)
* fix(website): make the typecheck pass under TypeScript 7
npm run typecheck previously ran out of memory because tsconfig.json
included build/ and .docusaurus/. Exclude them, as upstream Docusaurus
does.
TypeScript 7 removes baseUrl, which @docusaurus/tsconfig 3.10 still sets.
Unset it and redeclare the @site/* path relative to this tsconfig.
Fix the errors the typecheck then reports:
- Resolve two bare imports that only worked through baseUrl.
- Import ProcessedFile from the module that exports it.
- Type the Quote props (TypeScript 7 enables strict by default).
- Add the Font Awesome Slack icon that the Slack link in Social expects;
it still referenced a Discord icon that never existed.
* build(deps): upgrade all packages, including React 19, TypeScript 7 and Tailwind CSS 4
Require Node.js 26 (Active LTS) and move every direct dependency to its
latest release. The lockfile is regenerated, so transitive dependencies
are current too.
Majors: react/react-dom 18 -> 19, typescript 5.9 -> 7.0,
tailwindcss 3 -> 4. tailwindcss-animate is replaced by tw-animate-css,
and postcss-import is removed because @tailwindcss/postcss resolves
imports itself.
Tailwind CSS 4 migration, keeping rendered output identical:
- Move tailwind.config.ts into CSS (@theme inline). Pin the v3 values
that v4 changed: neutral and red-700 colors, px breakpoints, and rem
line heights for text-xs/sm/base/xl/2xl.
- Scope utilities under .tailwind by nesting @tailwind utilities, which
replaces v3's important: '.tailwind' and keeps them unlayered so they
still win over Infima.
- Generate utilities only from src/ (the v3 content glob) and exclude
container, which v3 disabled in favor of Infima's .container.
- Keep hover styles on touch devices, as in v3.
- Replace theme() calls in preflight.css with the values v3 resolved.
- Rename utilities whose meaning changed: outline-none -> outline-hidden,
backdrop-blur-sm -> backdrop-blur-xs, bg-gradient-to-* -> bg-linear-to-*.
- leading-* now overrides responsive text-* line heights: drop the
redundant leading-8 from Title and add md:leading-8 to Paragraph.
- Dialog: drop the slide offsets that compensated for v3 transforms, and
use gap instead of space-*, matching shadcn's Tailwind 4 version.
* ci: pin third-party actions to commit SHAs
Resolves CodeQL actions/unpinned-tag alerts #13 and #14: a mutable tag
can be repointed, and the Deploy step passes the Cloudflare API token to
wrangler-action. The version stays in a trailing comment.
- cloudflare/wrangler-action v4.1.3 -> 953926a2e2182532811c01a25e53647d93bf07c0
- spiceai/pulls-with-spice-action v2.0.0 -> 61ef22e4a17be07209f0811fbfe4f0deb2e490a4
6 days ago
build: upgrade to Node.js 26 LTS and latest packages (React 19, TypeScript 7, Tailwind CSS 4) (#2451)
* ci: run workflows on Node.js 26 and update actions
Node.js 26 entered Active LTS on 2026-10-28 and Node.js 24 moved to
maintenance on 2026-10-20.
- actions/checkout v3/v4 -> v7
- actions/setup-node v4 -> v7, node-version 24 -> 26
- actions/github-script v7 -> v9
- actions/labeler v5 -> v7
- cloudflare/wrangler-action v3.14.1 -> v4.1.3
- spiceai/pulls-with-spice-action v1.0.7 -> v2.0.0 (v3.0.0 is a prerelease)
* fix(website): make the typecheck pass under TypeScript 7
npm run typecheck previously ran out of memory because tsconfig.json
included build/ and .docusaurus/. Exclude them, as upstream Docusaurus
does.
TypeScript 7 removes baseUrl, which @docusaurus/tsconfig 3.10 still sets.
Unset it and redeclare the @site/* path relative to this tsconfig.
Fix the errors the typecheck then reports:
- Resolve two bare imports that only worked through baseUrl.
- Import ProcessedFile from the module that exports it.
- Type the Quote props (TypeScript 7 enables strict by default).
- Add the Font Awesome Slack icon that the Slack link in Social expects;
it still referenced a Discord icon that never existed.
* build(deps): upgrade all packages, including React 19, TypeScript 7 and Tailwind CSS 4
Require Node.js 26 (Active LTS) and move every direct dependency to its
latest release. The lockfile is regenerated, so transitive dependencies
are current too.
Majors: react/react-dom 18 -> 19, typescript 5.9 -> 7.0,
tailwindcss 3 -> 4. tailwindcss-animate is replaced by tw-animate-css,
and postcss-import is removed because @tailwindcss/postcss resolves
imports itself.
Tailwind CSS 4 migration, keeping rendered output identical:
- Move tailwind.config.ts into CSS (@theme inline). Pin the v3 values
that v4 changed: neutral and red-700 colors, px breakpoints, and rem
line heights for text-xs/sm/base/xl/2xl.
- Scope utilities under .tailwind by nesting @tailwind utilities, which
replaces v3's important: '.tailwind' and keeps them unlayered so they
still win over Infima.
- Generate utilities only from src/ (the v3 content glob) and exclude
container, which v3 disabled in favor of Infima's .container.
- Keep hover styles on touch devices, as in v3.
- Replace theme() calls in preflight.css with the values v3 resolved.
- Rename utilities whose meaning changed: outline-none -> outline-hidden,
backdrop-blur-sm -> backdrop-blur-xs, bg-gradient-to-* -> bg-linear-to-*.
- leading-* now overrides responsive text-* line heights: drop the
redundant leading-8 from Title and add md:leading-8 to Paragraph.
- Dialog: drop the slide offsets that compensated for v3 transforms, and
use gap instead of space-*, matching shadcn's Tailwind 4 version.
* ci: pin third-party actions to commit SHAs
Resolves CodeQL actions/unpinned-tag alerts #13 and #14: a mutable tag
can be repointed, and the Deploy step passes the Cloudflare API token to
wrangler-action. The version stays in a trailing comment.
- cloudflare/wrangler-action v4.1.3 -> 953926a2e2182532811c01a25e53647d93bf07c0
- spiceai/pulls-with-spice-action v2.0.0 -> 61ef22e4a17be07209f0811fbfe4f0deb2e490a4
Rename Blog -> Releases (#1297)
* Rename Blog -> Releases
* Formatting
* Fix build errors
* Fix
* Add redirects
10 months ago
docs(cookbook): index the local OSS model recipes (Qwen3.8, Qwen3.6, Qwen3.5, GLM, DeepSeek V4, DeepSeek V4.1, Kimi) (#2434)
* docs(cookbook): index the local OSS model recipes (Qwen3.8, Qwen3.6, Qwen3.5, GLM, DeepSeek V4, DeepSeek V4.1, Kimi)
* Cookbook index: state the 16 GB minimum for the Qwen3.5 recipe
* docs(cookbook): drop the DeepSeek V4.1 entry until spiceai/cookbook#739 merges
---------
Co-authored-by: Emma <98318442+spiceemma@users.noreply.github.com>
6 days ago
docs: per-dataset snapshot settings and delegation behavior in the cluster-sidecar guide; reranker, schema evolution, and refresh processed metrics (#2472)
* docs: per-dataset snapshot settings and delegation behavior in the cluster-sidecar guide; reranker, schema evolution, and refresh processed metrics
* docs: say that the zero-results fallback skips the sidecar's refresh_sql filter
---------
Co-authored-by: Emma Spice <emma@EmmasMacStudio.localdomain>
2 days ago
v1.11 Documentation (#1296)
* Remove OTel ports from docs (#1270)
* Docs for Google (#1286)
Co-authored-by: Evgenii Khramkov <evgenii@spice.ai>
Co-authored-by: Luke Kim <80174+lukekim@users.noreply.github.com>
* Parameterized Queries docs (#1298)
* Paramterized Queries docs
* Formatting
* Add SMB and NFS Data Connector Docs (#1295)
* Add SMB & NFS Data Connector docs
* Fixes
* formatting
* Rename "params" key (#1300)
* Fix params (#1301)
* Update Dynamodb Authentication (#1304)
* Update Dynamodb Auth
* Update
* Cayenne: document cayenne_file_path and cayenne_metadata_dir (#1307)
* Update snapshots documentation (#1318)
* Update snapshots documentation
* Fix
* Docs for snapshots_reset_expiry_on_load (#1322)
* Minor fixes for DynamoDB (#1323)
* Minor fixes for DynamoDB
* Minor fix
* Update Distributed Query docs for v1.11 changes (#1326)
* Update Distributed Query docs for v1.11 changes
* Update website/docs/features/distributed-query/index.md
Co-authored-by: Jack Eadie <jack@spice.ai>
---------
Co-authored-by: Jack Eadie <jack@spice.ai>
* ScyllaDB Data Connector docs (#1325)
* Add Arrow Hash Index docs (#1324)
* Add Arrow Hash Index docs
* Formatting
* Add versioning support (#1308)
* Add versioning support
* Fix: empty versions array until release branches exist
* Enable versioned docs for release/1.11 branch
* Fix: resolve git refs with origin/ prefix for CI
* Fix: run git archive from repo root
* Fix: serve current docs at /docs, versioned docs at /docs/v1.11
* fix(versioning): only show unmaintained banner for versions outside maintenance window
* Update to 1
* feat(versioning): add enterprise support note on unmaintained version banner
* feat(versioning): add support for unreleased docs from trunk
- Current docs (trunk) now served at /docs/next with 'unreleased' banner
- Latest release branch served at /docs as the default
- Previous versions continue at /docs/v1.11, etc.
* Move to right
* feat(versioning): auto-detect release branches from git
- Script now auto-detects release/<major>.<minor> branches
- No manual VERSIONS array maintenance required
- Creating a new release branch automatically adds version to docs
* Fix
* fix(versioning): highest version is 'next', second highest is 'latest'
- v1.11.x (highest) → Next (unreleased) at /docs/next
- v1.10.x (second) → Latest (stable) at /docs
- Trunk docs available at /docs/trunk
- Previous versions at /docs/v1.9, etc.
* fix(versioning): warn on broken links for cross-version compatibility
Older release branches may contain absolute links to docs pages that
don't exist in all versions. Setting onBrokenLinks to 'warn' allows
the build to succeed while still reporting these issues.
* Fixes
* Fixes
* Update menu
* Improve SMB docs (#1328)
* Improve copilot instructions
* Improve SMB docs
---------
Co-authored-by: Phillip LeBlanc <phillip@spice.ai>
Co-authored-by: Jack Eadie <jack@spice.ai>
Co-authored-by: Evgenii Khramkov <evgenii@spice.ai>
Co-authored-by: Viktor Yershov <viktor@spice.ai>
Co-authored-by: Sergei Grebnov <sergei.grebnov@gmail.com>