create-content-sdk-app 2.0.2 → 2.1.0-canary.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/LICENSE.MD +202 -202
  2. package/dist/templates/nextjs/.agents/skills/content-sdk-component-data-strategy/SKILL.md +1 -1
  3. package/dist/templates/nextjs/.agents/skills/content-sdk-component-registration/SKILL.md +1 -1
  4. package/dist/templates/nextjs/.agents/skills/content-sdk-component-scaffold/SKILL.md +1 -1
  5. package/dist/templates/nextjs/.agents/skills/content-sdk-component-variants/SKILL.md +1 -1
  6. package/dist/templates/nextjs/.agents/skills/content-sdk-dictionary-and-i18n/SKILL.md +1 -1
  7. package/dist/templates/nextjs/.agents/skills/content-sdk-editing-safe-rendering/SKILL.md +1 -1
  8. package/dist/templates/nextjs/.agents/skills/content-sdk-field-usage-image-link-text/SKILL.md +1 -1
  9. package/dist/templates/nextjs/.agents/skills/content-sdk-graphql-data-fetching/SKILL.md +1 -1
  10. package/dist/templates/nextjs/.agents/skills/content-sdk-multisite-management/SKILL.md +1 -1
  11. package/dist/templates/nextjs/.agents/skills/content-sdk-route-configuration/SKILL.md +1 -1
  12. package/dist/templates/nextjs/.agents/skills/content-sdk-site-setup-and-env/SKILL.md +1 -1
  13. package/dist/templates/nextjs/.agents/skills/content-sdk-sitemap-robots/SKILL.md +1 -1
  14. package/dist/templates/nextjs/.agents/skills/content-sdk-troubleshoot-editing/SKILL.md +1 -1
  15. package/dist/templates/nextjs/.agents/skills/content-sdk-upgrade-assistant/SKILL.md +1 -1
  16. package/dist/templates/nextjs/.cursor/rules/general.mdc +81 -81
  17. package/dist/templates/nextjs/.cursor/rules/javascript.mdc +112 -112
  18. package/dist/templates/nextjs/.cursor/rules/project-setup.mdc +100 -100
  19. package/dist/templates/nextjs/.cursor/rules/sitecore.mdc +150 -150
  20. package/dist/templates/nextjs/.env.container.example +27 -27
  21. package/dist/templates/nextjs/.env.remote.example +51 -51
  22. package/dist/templates/nextjs/.gitattributes +11 -11
  23. package/dist/templates/nextjs/.prettierrc +8 -8
  24. package/dist/templates/nextjs/.vscode/extensions.json +8 -8
  25. package/dist/templates/nextjs/.vscode/launch.json +15 -15
  26. package/dist/templates/nextjs/.windsurfrules +186 -186
  27. package/dist/templates/nextjs/AGENTS.md +1 -1
  28. package/dist/templates/nextjs/LICENSE.txt +202 -202
  29. package/dist/templates/nextjs/README.md +1 -5
  30. package/dist/templates/nextjs/Skills.md +2 -2
  31. package/dist/templates/nextjs/eslint.config.mjs +81 -81
  32. package/dist/templates/nextjs/gitignore +28 -28
  33. package/dist/templates/nextjs/package.json +68 -68
  34. package/dist/templates/nextjs/sitecore.config.ts.example +40 -40
  35. package/dist/templates/nextjs/src/proxy.ts +11 -3
  36. package/dist/templates/nextjs/tsconfig.json +40 -40
  37. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-component-data-strategy/SKILL.md +1 -1
  38. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-component-registration/SKILL.md +1 -1
  39. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-component-scaffold/SKILL.md +1 -1
  40. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-component-variants/SKILL.md +1 -1
  41. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-dictionary-and-i18n/SKILL.md +1 -1
  42. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-editing-safe-rendering/SKILL.md +1 -1
  43. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-field-usage-image-link-text/SKILL.md +1 -1
  44. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-graphql-data-fetching/SKILL.md +1 -1
  45. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-multisite-management/SKILL.md +1 -1
  46. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-route-configuration/SKILL.md +1 -1
  47. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-site-setup-and-env/SKILL.md +1 -1
  48. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-sitemap-robots/SKILL.md +1 -1
  49. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-troubleshoot-editing/SKILL.md +1 -1
  50. package/dist/templates/nextjs-app-router/.agents/skills/content-sdk-upgrade-assistant/SKILL.md +1 -1
  51. package/dist/templates/nextjs-app-router/.cursor/rules/app-router-setup.mdc +116 -116
  52. package/dist/templates/nextjs-app-router/.cursor/rules/general.mdc +80 -80
  53. package/dist/templates/nextjs-app-router/.cursor/rules/javascript.mdc +112 -112
  54. package/dist/templates/nextjs-app-router/.cursor/rules/sitecore.mdc +174 -174
  55. package/dist/templates/nextjs-app-router/.env.container.example +27 -27
  56. package/dist/templates/nextjs-app-router/.env.remote.example +51 -51
  57. package/dist/templates/nextjs-app-router/.gitattributes +11 -11
  58. package/dist/templates/nextjs-app-router/.windsurfrules +290 -290
  59. package/dist/templates/nextjs-app-router/AGENTS.md +1 -1
  60. package/dist/templates/nextjs-app-router/README.md +1 -5
  61. package/dist/templates/nextjs-app-router/Skills.md +2 -2
  62. package/dist/templates/nextjs-app-router/eslint.config.mjs +21 -29
  63. package/dist/templates/nextjs-app-router/gitignore +31 -31
  64. package/dist/templates/nextjs-app-router/package.json +54 -55
  65. package/dist/templates/nextjs-app-router/postcss.config.mjs +5 -5
  66. package/dist/templates/nextjs-app-router/sitecore.config.ts.example +40 -40
  67. package/dist/templates/nextjs-app-router/src/app/globals.css +1 -1
  68. package/dist/templates/nextjs-app-router/src/proxy.ts +11 -3
  69. package/dist/templates/nextjs-app-router/tsconfig.json +48 -48
  70. package/package.json +2 -2
@@ -1,28 +1,28 @@
1
- # See https://help.github.com/ignore-files/ for more about ignoring files.
2
-
3
- # dependencies
4
- /node_modules
5
-
6
- # next.js
7
- /.next*/
8
- /out/
9
-
10
- # misc
11
- .DS_Store
12
-
13
- # local env files
14
- .env.local
15
- .env.*.local
16
- .env
17
-
18
- # Log files
19
- *.log*
20
-
21
- # vercel
22
- .vercel
23
-
24
- # sitecore temp files
25
- .sitecore/*
26
- # except for component-map
27
- !.sitecore/component-map.ts
28
- !.sitecore/import-map.ts
1
+ # See https://help.github.com/ignore-files/ for more about ignoring files.
2
+
3
+ # dependencies
4
+ /node_modules
5
+
6
+ # next.js
7
+ /.next*/
8
+ /out/
9
+
10
+ # misc
11
+ .DS_Store
12
+
13
+ # local env files
14
+ .env.local
15
+ .env.*.local
16
+ .env
17
+
18
+ # Log files
19
+ *.log*
20
+
21
+ # vercel
22
+ .vercel
23
+
24
+ # sitecore temp files
25
+ .sitecore/*
26
+ # except for component-map
27
+ !.sitecore/component-map.ts
28
+ !.sitecore/import-map.ts
@@ -1,68 +1,68 @@
1
- {
2
- "name": "content-sdk-nextjs",
3
- "description": "Application utilizing Content SDK and Next.js",
4
- "version": "0.1.0",
5
- "private": true,
6
- "config": {
7
- "appName": "content-sdk-nextjs",
8
- "graphQLEndpointPath": "/sitecore/api/graph/edge",
9
- "language": "en",
10
- "template": "nextjs"
11
- },
12
- "author": {
13
- "name": "Sitecore Corporation",
14
- "url": "https://doc.sitecore.com/xmc/en/developers/content-sdk/index.html"
15
- },
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/sitecore/content-sdk.git"
19
- },
20
- "bugs": {
21
- "url": "https://github.com/sitecore/content-sdk/issues"
22
- },
23
- "license": "Apache-2.0",
24
- "dependencies": {
25
- "@sitecore-content-sdk/nextjs": "<%- version %>",
26
- "@sitecore-content-sdk/analytics-core": "<%- version %>",
27
- "@sitecore-content-sdk/events": "<%- version %>",
28
- "@sitecore-feaas/clientside": "^0.6.0",
29
- "@sitecore/components": "~2.1.0",
30
- "next": "^16.1.1",
31
- "next-localization": "^0.12.0",
32
- "react": "^19.2.1",
33
- "react-dom": "^19.2.1"
34
- },
35
- "devDependencies": {
36
- "@sitecore-content-sdk/cli": "<%- version %>",
37
- "@types/node": "^24.10.4",
38
- "@types/react": "^19.2.7",
39
- "@types/react-dom": "^19.2.3",
40
- "@stylistic/eslint-plugin": "^5.2.2",
41
- "@typescript-eslint/eslint-plugin": "8.39.0",
42
- "@typescript-eslint/parser": "8.39.0",
43
- "cross-env": "~7.0.3",
44
- "eslint": "^9.32.0",
45
- "eslint-config-next": "15.5.3",
46
- "eslint-config-prettier": "^10.1.8",
47
- "eslint-plugin-import": "2.32.0",
48
- "eslint-plugin-jsdoc": "52.0.3",
49
- "eslint-plugin-prettier": "^5.5.3",
50
- "eslint-plugin-react": "7.37.5",
51
- "eslint-plugin-react-hooks": "5.2.0",
52
- "npm-run-all2": "~8.0.1",
53
- "prettier": "^3.6.2",
54
- "typescript": "~5.8.3"
55
- },
56
- "scripts": {
57
- "build": "cross-env NODE_ENV=production npm-run-all --serial sitecore-tools:generate-map sitecore-tools:build next:build",
58
- "lint": "eslint ./src/**/*.tsx ./src/**/*.ts",
59
- "next:build": "next build",
60
- "next:dev": "cross-env NODE_OPTIONS='--inspect' next dev",
61
- "next:start": "next start",
62
- "sitecore-tools:generate-map": "sitecore-tools project component generate-map",
63
- "sitecore-tools:generate-map:watch": "sitecore-tools project component generate-map --watch",
64
- "sitecore-tools:build": "sitecore-tools project build",
65
- "dev": "cross-env NODE_ENV=development npm-run-all --serial sitecore-tools:generate-map sitecore-tools:build --parallel next:dev sitecore-tools:generate-map:watch",
66
- "start": "cross-env-shell NODE_ENV=production npm-run-all --serial build next:start"
67
- }
68
- }
1
+ {
2
+ "name": "content-sdk-nextjs",
3
+ "description": "Application utilizing Content SDK and Next.js",
4
+ "version": "0.1.0",
5
+ "private": true,
6
+ "config": {
7
+ "appName": "content-sdk-nextjs",
8
+ "graphQLEndpointPath": "/sitecore/api/graph/edge",
9
+ "language": "en",
10
+ "template": "nextjs"
11
+ },
12
+ "author": {
13
+ "name": "Sitecore Corporation",
14
+ "url": "https://doc.sitecore.com/xmc/en/developers/content-sdk/index.html"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/sitecore/content-sdk.git"
19
+ },
20
+ "bugs": {
21
+ "url": "https://github.com/sitecore/content-sdk/issues"
22
+ },
23
+ "license": "Apache-2.0",
24
+ "dependencies": {
25
+ "@sitecore-content-sdk/nextjs": "<%- version %>",
26
+ "@sitecore-content-sdk/analytics-core": "<%- version %>",
27
+ "@sitecore-content-sdk/events": "<%- version %>",
28
+ "@sitecore-feaas/clientside": "^0.6.0",
29
+ "@sitecore/components": "~2.1.0",
30
+ "next": "^16.2.0",
31
+ "next-localization": "^0.12.0",
32
+ "react": "^19.2.1",
33
+ "react-dom": "^19.2.1"
34
+ },
35
+ "devDependencies": {
36
+ "@sitecore-content-sdk/cli": "<%- version %>",
37
+ "@types/node": "^24.10.4",
38
+ "@types/react": "^19.2.7",
39
+ "@types/react-dom": "^19.2.3",
40
+ "@stylistic/eslint-plugin": "^5.2.2",
41
+ "@typescript-eslint/eslint-plugin": "8.39.0",
42
+ "@typescript-eslint/parser": "8.39.0",
43
+ "cross-env": "~7.0.3",
44
+ "eslint": "^9.32.0",
45
+ "eslint-config-next": "16.2.2",
46
+ "eslint-config-prettier": "^10.1.8",
47
+ "eslint-plugin-import": "2.32.0",
48
+ "eslint-plugin-jsdoc": "52.0.3",
49
+ "eslint-plugin-prettier": "^5.5.3",
50
+ "eslint-plugin-react": "7.37.5",
51
+ "eslint-plugin-react-hooks": "5.2.0",
52
+ "npm-run-all2": "~8.0.1",
53
+ "prettier": "^3.6.2",
54
+ "typescript": "~5.8.3"
55
+ },
56
+ "scripts": {
57
+ "build": "cross-env NODE_ENV=production npm-run-all --serial sitecore-tools:generate-map sitecore-tools:build next:build",
58
+ "lint": "eslint ./src/**/*.tsx ./src/**/*.ts",
59
+ "next:build": "next build",
60
+ "next:dev": "cross-env NODE_OPTIONS='--inspect' next dev",
61
+ "next:start": "next start",
62
+ "sitecore-tools:generate-map": "sitecore-tools project component generate-map",
63
+ "sitecore-tools:generate-map:watch": "sitecore-tools project component generate-map --watch",
64
+ "sitecore-tools:build": "sitecore-tools project build",
65
+ "dev": "cross-env NODE_ENV=development npm-run-all --serial sitecore-tools:generate-map sitecore-tools:build --parallel next:dev sitecore-tools:generate-map:watch",
66
+ "start": "cross-env-shell NODE_ENV=production npm-run-all --serial build next:start"
67
+ }
68
+ }
@@ -1,40 +1,40 @@
1
- import { defineConfig } from '@sitecore-content-sdk/nextjs/config';
2
- /**
3
- * @type {import('@sitecore-content-sdk/nextjs/config').SitecoreConfig}
4
- * See the documentation for `defineConfig`:
5
- * https://doc.sitecore.com/xmc/en/developers/content-sdk/the-sitecore-configuration-file.html
6
- */
7
- export default defineConfig({
8
- api: {
9
- edge: {
10
- contextId:
11
- process.env.SITECORE_EDGE_CONTEXT_ID ||
12
- process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID ||
13
- '',
14
- clientContextId: process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID,
15
- edgeUrl:
16
- process.env.NEXT_PUBLIC_SITECORE_EDGE_PLATFORM_HOSTNAME ||
17
- process.env.SITECORE_EDGE_PLATFORM_HOSTNAME,
18
- },
19
- local: {
20
- apiKey: process.env.NEXT_PUBLIC_SITECORE_API_KEY || '',
21
- apiHost: process.env.NEXT_PUBLIC_SITECORE_API_HOST || '',
22
- },
23
- },
24
- defaultSite: process.env.NEXT_PUBLIC_DEFAULT_SITE_NAME,
25
- defaultLanguage: process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE || 'en',
26
- editingSecret: process.env.SITECORE_EDITING_SECRET,
27
- redirects: {
28
- enabled: true,
29
- locales: ['en'],
30
- },
31
- multisite: {
32
- enabled: true,
33
- useCookieResolution: () => process.env.VERCEL_ENV === 'preview',
34
- },
35
- personalize: {
36
- scope: process.env.NEXT_PUBLIC_PERSONALIZE_SCOPE,
37
- edgeTimeout: parseInt(process.env.PERSONALIZE_PROXY_EDGE_TIMEOUT!, 10),
38
- cdpTimeout: parseInt(process.env.PERSONALIZE_PROXY_EDGE_TIMEOUT!, 10),
39
- },
40
- });
1
+ import { defineConfig } from '@sitecore-content-sdk/nextjs/config';
2
+ /**
3
+ * @type {import('@sitecore-content-sdk/nextjs/config').SitecoreConfig}
4
+ * See the documentation for `defineConfig`:
5
+ * https://doc.sitecore.com/xmc/en/developers/content-sdk/the-sitecore-configuration-file.html
6
+ */
7
+ export default defineConfig({
8
+ api: {
9
+ edge: {
10
+ contextId:
11
+ process.env.SITECORE_EDGE_CONTEXT_ID ||
12
+ process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID ||
13
+ '',
14
+ clientContextId: process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID,
15
+ edgeUrl:
16
+ process.env.NEXT_PUBLIC_SITECORE_EDGE_PLATFORM_HOSTNAME ||
17
+ process.env.SITECORE_EDGE_PLATFORM_HOSTNAME,
18
+ },
19
+ local: {
20
+ apiKey: process.env.NEXT_PUBLIC_SITECORE_API_KEY || '',
21
+ apiHost: process.env.NEXT_PUBLIC_SITECORE_API_HOST || '',
22
+ },
23
+ },
24
+ defaultSite: process.env.NEXT_PUBLIC_DEFAULT_SITE_NAME,
25
+ defaultLanguage: process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE || 'en',
26
+ editingSecret: process.env.SITECORE_EDITING_SECRET,
27
+ redirects: {
28
+ enabled: true,
29
+ locales: ['en'],
30
+ },
31
+ multisite: {
32
+ enabled: true,
33
+ useCookieResolution: () => process.env.VERCEL_ENV === 'preview',
34
+ },
35
+ personalize: {
36
+ scope: process.env.NEXT_PUBLIC_PERSONALIZE_SCOPE,
37
+ edgeTimeout: parseInt(process.env.PERSONALIZE_PROXY_EDGE_TIMEOUT!, 10),
38
+ cdpTimeout: parseInt(process.env.PERSONALIZE_PROXY_EDGE_TIMEOUT!, 10),
39
+ },
40
+ });
@@ -1,14 +1,22 @@
1
- import { type NextRequest } from 'next/server';
1
+ import { NextFetchEvent, type NextRequest } from 'next/server';
2
2
  import {
3
3
  defineProxy,
4
4
  MultisiteProxy,
5
5
  PersonalizeProxy,
6
6
  RedirectsProxy,
7
+ BotTrackingProxy,
7
8
  } from '@sitecore-content-sdk/nextjs/proxy';
8
9
  import sites from '.sitecore/sites.json';
9
10
  import scConfig from 'sitecore.config';
10
11
 
11
- export default function proxy(req: NextRequest) {
12
+ export default function proxy(req: NextRequest, event: NextFetchEvent) {
13
+ // BotTrackingProxy will detect and track bots before any other proxies run
14
+ const botTracking = new BotTrackingProxy({
15
+ ...scConfig.api.edge,
16
+ sites,
17
+ fetchEvent: event,
18
+ });
19
+
12
20
  // Instantiate proxies - they will use Edge config if available, otherwise fall back to local config
13
21
  // Each proxy will skip processing if required API configuration is not available
14
22
  const multisite = new MultisiteProxy({
@@ -62,7 +70,7 @@ export default function proxy(req: NextRequest) {
62
70
  // },
63
71
  });
64
72
 
65
- return defineProxy(multisite, redirects, personalize).exec(req);
73
+ return defineProxy(botTracking, multisite, redirects, personalize).exec(req);
66
74
  }
67
75
 
68
76
  export const config = {
@@ -1,40 +1,40 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "paths": {
5
- "components/*": ["src/components/*"],
6
- "lib/*": ["src/lib/*"],
7
- "temp/*": ["src/temp/*"],
8
- "assets/*": ["src/assets/*"],
9
- <%_ if (helper.isDev) { _%>
10
- "react": ["node_modules/react"],
11
- "next/*": ["node_modules/next/*"],
12
- <%_ } _%>
13
- },
14
- "target": "es5",
15
- "types": ["node"],
16
- "lib": ["dom", "dom.iterable", "esnext"],
17
- "allowJs": true,
18
- "skipLibCheck": true,
19
- "strict": true,
20
- "strictFunctionTypes": false,
21
- "downlevelIteration": true,
22
- "noEmit": true,
23
- "esModuleInterop": true,
24
- "module": "esnext",
25
- "moduleResolution": "node",
26
- "resolveJsonModule": true,
27
- "isolatedModules": true,
28
- "jsx": "preserve",
29
- "allowSyntheticDefaultImports": true,
30
- "noImplicitReturns": true,
31
- "noImplicitAny": true,
32
- "noImplicitThis": true,
33
- "noUnusedLocals": true,
34
- "noUnusedParameters": true,
35
- "incremental": true,
36
- "forceConsistentCasingInFileNames": false
37
- },
38
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
39
- "exclude": ["node_modules"]
40
- }
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "paths": {
5
+ "components/*": ["src/components/*"],
6
+ "lib/*": ["src/lib/*"],
7
+ "temp/*": ["src/temp/*"],
8
+ "assets/*": ["src/assets/*"],
9
+ <%_ if (helper.isDev) { _%>
10
+ "react": ["node_modules/react"],
11
+ "next/*": ["node_modules/next/*"],
12
+ <%_ } _%>
13
+ },
14
+ "target": "es5",
15
+ "types": ["node"],
16
+ "lib": ["dom", "dom.iterable", "esnext"],
17
+ "allowJs": true,
18
+ "skipLibCheck": true,
19
+ "strict": true,
20
+ "strictFunctionTypes": false,
21
+ "downlevelIteration": true,
22
+ "noEmit": true,
23
+ "esModuleInterop": true,
24
+ "module": "esnext",
25
+ "moduleResolution": "node",
26
+ "resolveJsonModule": true,
27
+ "isolatedModules": true,
28
+ "jsx": "preserve",
29
+ "allowSyntheticDefaultImports": true,
30
+ "noImplicitReturns": true,
31
+ "noImplicitAny": true,
32
+ "noImplicitThis": true,
33
+ "noUnusedLocals": true,
34
+ "noUnusedParameters": true,
35
+ "incremental": true,
36
+ "forceConsistentCasingInFileNames": false
37
+ },
38
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
39
+ "exclude": ["node_modules"]
40
+ }
@@ -34,4 +34,4 @@ This app does **not** use getComponentData. Page and layout data come from **get
34
34
  ## References
35
35
 
36
36
  - content-sdk-graphql-data-fetching and [AGENTS.md](../../../AGENTS.md) for getPage and data flow.
37
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
37
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -35,4 +35,4 @@ Register components in the Sitecore component maps so the layout and editing pip
35
35
  ## References
36
36
 
37
37
  - [AGENTS.md](../../../AGENTS.md) for component maps and editing routes.
38
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
38
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -35,4 +35,4 @@ Scaffold new Sitecore components so they integrate with the layout and editing p
35
35
  ## References
36
36
 
37
37
  - [AGENTS.md](../../../AGENTS.md) for app structure and component maps.
38
- - [Skills.md](../../../Skills.md) for capability map. [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
38
+ - [Skills.md](../../../Skills.md) for capability map. [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -33,4 +33,4 @@ One component definition can have multiple presentations or data-driven variants
33
33
  ## References
34
34
 
35
35
  - [AGENTS.md](../../../AGENTS.md) and content-sdk-component-registration for maps.
36
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
36
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -34,4 +34,4 @@ This app uses **next-intl**. Locale is in the URL as [locale]. Request locale is
34
34
  ## References
35
35
 
36
36
  - [AGENTS.md](../../../AGENTS.md) for next-intl, setRequestLocale, and getDictionary usage.
37
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
37
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -34,4 +34,4 @@ Ensure components behave correctly in XM Cloud editing, preview, and design libr
34
34
  ## References
35
35
 
36
36
  - [AGENTS.md](../../../AGENTS.md) for data fetching, preview flow, and editing routes.
37
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
37
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -33,4 +33,4 @@ Use SDK field components to render Sitecore fields with proper validation and fa
33
33
  ## References
34
34
 
35
35
  - [AGENTS.md](../../../AGENTS.md) for component and Sitecore patterns.
36
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
36
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -34,4 +34,4 @@ All Sitecore data fetching goes through the single client in `src/lib/sitecore-c
34
34
  ## References
35
35
 
36
36
  - [AGENTS.md](../../../AGENTS.md) for SitecoreClient, getPage, getDictionary, and SSG.
37
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
37
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -34,4 +34,4 @@ Site resolution from request (e.g. hostname or cookie); proxy rewrites to /[site
34
34
  ## References
35
35
 
36
36
  - [AGENTS.md](../../../AGENTS.md) for proxy chain, matcher, and multisite config.
37
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
37
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -35,4 +35,4 @@ Single catch-all route and layout hierarchy. Site and locale are **in the path**
35
35
  ## References
36
36
 
37
37
  - [AGENTS.md](../../../AGENTS.md) for exact paths, params, and layout hierarchy.
38
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
38
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -33,4 +33,4 @@ Central config in sitecore.config.ts; all secrets and environment-specific value
33
33
  ## References
34
34
 
35
35
  - [AGENTS.md](../../../AGENTS.md) for boundaries and env rules.
36
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
36
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -34,4 +34,4 @@ Sitemap and robots.txt are served via **route handlers** and rewrites. Use the S
34
34
  ## References
35
35
 
36
36
  - [AGENTS.md](../../../AGENTS.md) for API routes and rewrites.
37
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
37
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -36,4 +36,4 @@ Diagnose and fix editing, preview, and design library issues without breaking th
36
36
  ## References
37
37
 
38
38
  - content-sdk-editing-safe-rendering skill and [AGENTS.md](../../../AGENTS.md) for preview and editing flow.
39
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
39
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).
@@ -33,4 +33,4 @@ Upgrade @sitecore-content-sdk/* packages safely; follow the Content SDK repo cha
33
33
 
34
34
  - Content SDK repo [CHANGELOG](https://github.com/Sitecore/content-sdk/blob/dev/CHANGELOG.md) and upgrade docs.
35
35
  - [AGENTS.md](../../../AGENTS.md) for build commands.
36
- - [Official Content SDK docs](https://doc.sitecore.com/xmc/en/developers/content-sdk/sitecore-content-sdk-for-xm-cloud.html).
36
+ - [Official Content SDK docs](https://doc.sitecore.com/sai/en/developers/content-sdk/sitecore-content-sdk-for-sitecoreai.html).