diff --git a/apps/backend/src/lib/ai/prompts.ts b/apps/backend/src/lib/ai/prompts.ts index b052ecc00..ba3de67c2 100644 --- a/apps/backend/src/lib/ai/prompts.ts +++ b/apps/backend/src/lib/ai/prompts.ts @@ -207,7 +207,7 @@ When users need personalized support, have complex issues, or ask for help beyon - Provide practical, working examples - Focus on giving complete, helpful answers - **When referencing documentation, use links with the base URL: https://docs.hexclave.com** -- Example: For setup docs, use https://docs.hexclave.com/docs/getting-started/setup +- Example: For setup docs, use https://docs.hexclave.com/guides/getting-started/setup ## CODE EXAMPLE GUIDELINES: - For API calls, show both the HTTP endpoint AND the SDK method diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys-app/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys-app/page-client.tsx index 26ff58dc2..d69f0dc2b 100644 --- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys-app/page-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys-app/page-client.tsx @@ -109,7 +109,7 @@ export default function PageClient() {

If you are looking to create or manage keys for your Hexclave project, head over to the Project Keys settings.

- For more information, see the API Keys docs. + For more information, see the API Keys docs. } /> diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx index 900c56db3..0a233aa37 100644 --- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx @@ -2085,7 +2085,7 @@ export default function PageClient({ initialReplayId, lockedUserId }: PageClient Session replays let you watch how users interact with your app. For info on enabling replays,{" "} look here diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx index 9b3be7f90..14f717f9f 100644 --- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx @@ -27,7 +27,7 @@ import { useAdminApp } from '../../use-admin-app'; import { TeamAnalyticsSection } from './team-analytics'; import { TeamPaymentsSection } from './team-payments'; -const teamMetadataDocsUrl = "https://docs.hexclave.com/docs/concepts/teams"; +const teamMetadataDocsUrl = "https://docs.hexclave.com/guides/apps/teams/overview"; const inviteFormSchema = yupObject({ email: strictEmailSchema("Please enter a valid email address").defined(), diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx index 1dd8909e4..2a4bbbbd0 100644 --- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx @@ -81,7 +81,7 @@ const SessionReplaysPageClient = dynamic( }, ); -const userMetadataDocsUrl = "https://docs.hexclave.com/docs/concepts/custom-user-data"; +const userMetadataDocsUrl = "https://docs.hexclave.com/guides/getting-started/user-fundamentals#custom-metadata"; export default function PageClient({ userId }: { userId: string }) { const stackAdminApp = useAdminApp(); diff --git a/apps/dashboard/src/components/user-dialog.tsx b/apps/dashboard/src/components/user-dialog.tsx index 3894ab095..01bc5f3a4 100644 --- a/apps/dashboard/src/components/user-dialog.tsx +++ b/apps/dashboard/src/components/user-dialog.tsx @@ -10,7 +10,7 @@ import { DateField, InputField, SwitchField, TextAreaField } from "./form-fields import { StyledLink } from "./link"; import { validateRiskScore } from "@/lib/risk-score-utils"; -const metadataDocsUrl = "https://docs.hexclave.com/docs/concepts/custom-user-data"; +const metadataDocsUrl = "https://docs.hexclave.com/guides/getting-started/user-fundamentals#custom-metadata"; export function UserDialog(props: { open?: boolean, diff --git a/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts index 0b7178ab7..9f636f92f 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts @@ -62,7 +62,7 @@ describe("without project ID", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts index aa67f7d74..695692992 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts @@ -233,7 +233,7 @@ it("should fail to transfer project if the user is not signed in", async ({ expe "error": deindent\` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/api-keys.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/api-keys.test.ts index 4dea12626..f4c809444 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/api-keys.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/api-keys.test.ts @@ -19,7 +19,7 @@ describe("without project access", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts index 72e1ce758..8417cebfd 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts @@ -266,7 +266,7 @@ it("should fail to transfer project if the user is not signed in", async ({ expe "error": deindent\` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/api-keys.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/api-keys.test.ts index 673febae8..cef524040 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/internal/api-keys.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/api-keys.test.ts @@ -19,7 +19,7 @@ describe("without project access", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/method-configs.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/method-configs.test.ts index 2ef7d32ca..026b98d74 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/method-configs.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/method-configs.test.ts @@ -21,7 +21,7 @@ describe("GET /api/v1/internal/payments/method-configs", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/setup.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/setup.test.ts index 981128a11..42e4dc3fa 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/setup.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/setup.test.ts @@ -23,7 +23,7 @@ describe("POST /api/v1/internal/payments/setup", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/stripe/account-info.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/stripe/account-info.test.ts index f910cfde8..92faa837c 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/stripe/account-info.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/payments/stripe/account-info.test.ts @@ -21,7 +21,7 @@ describe("GET /api/v1/internal/payments/stripe/account-info", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/projects.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/projects.test.ts index cb8e8e70e..eb9cdd912 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/internal/projects.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/projects.test.ts @@ -14,7 +14,7 @@ it("should not have have access to the project", async ({ expect }) => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts index 5717f12ba..5e5261d40 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts @@ -20,7 +20,7 @@ describe("without project access", () => { "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts index a9f28a5cc..073127378 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts @@ -25,7 +25,7 @@ describe("without authentication", () => { "error": deindent\` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts index b194c2d25..e1f150407 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts @@ -1199,7 +1199,7 @@ it("listing owned products should require authentication", async ({ expect }) => "error": deindent\` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts index eff92f40c..4a500badd 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts @@ -20,7 +20,7 @@ it("should not have access to the project without project keys", async ({ expect "error": deindent\` The x-hexclave-access-type header was 'client', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { @@ -1440,7 +1440,7 @@ it("does not allow accessing a project without a project ID header", async ({ ex "error": deindent\` The x-hexclave-access-type header was 'admin', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts index 30841afec..b918448a4 100644 --- a/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts +++ b/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts @@ -24,7 +24,7 @@ describe("without project access", () => { "error": deindent\` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { @@ -46,7 +46,7 @@ describe("without project access", () => { "error": deindent\` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication \`, }, "headers": Headers { diff --git a/apps/e2e/tests/general/cli.test.ts b/apps/e2e/tests/general/cli.test.ts index b4cf5a0b8..a7dced102 100644 --- a/apps/e2e/tests/general/cli.test.ts +++ b/apps/e2e/tests/general/cli.test.ts @@ -245,7 +245,7 @@ describe("Stack CLI", () => { it("exec help mentions docs URL", async ({ expect }) => { const { stdout, exitCode } = await runCli(["exec", "--help"]); expect(exitCode).toBe(0); - expect(stdout).toContain("https://docs.hexclave.com/docs/sdk"); + expect(stdout).toContain("https://docs.hexclave.com/sdk/overview"); }); it("exec help mentions --cloud-project-id and --config-file", async ({ expect }) => { diff --git a/docs-mintlify/docs.json b/docs-mintlify/docs.json index b1ab5a3b3..2a046d9a8 100644 --- a/docs-mintlify/docs.json +++ b/docs-mintlify/docs.json @@ -244,63 +244,5 @@ }, "settings": { "customScripts": ["/apps-sidebar-filter.js", "/code-language-labels.js"] - }, - "redirects": [ - { - "source": "/rest-api/overview", - "destination": "/api/overview" - }, - { - "source": "/getting-started/setup", - "destination": "/guides/getting-started/setup" - }, - { - "source": "/docs/getting-started/setup", - "destination": "/guides/getting-started/setup" - }, - { - "source": "/docs/next/getting-started/setup", - "destination": "/guides/getting-started/setup" - }, - { - "source": "/docs/sdk", - "destination": "/sdk/overview" - }, - { - "source": "/docs/apps/analytics", - "destination": "/guides/apps/analytics/overview" - }, - { - "source": "/docs/apps/api-keys", - "destination": "/guides/apps/api-keys/overview" - }, - { - "source": "/docs/others/convex", - "destination": "/guides/integrations/convex/overview" - }, - { - "source": "/docs/concepts/teams", - "destination": "/guides/apps/teams/overview" - }, - { - "source": "/docs/concepts/custom-user-data", - "destination": "/guides/getting-started/user-fundamentals#custom-metadata" - }, - { - "source": "/guides/going-further/user-metadata", - "destination": "/guides/getting-started/user-fundamentals#custom-metadata" - }, - { - "source": "/others/js-client", - "destination": "/sdk/objects/stack-app" - }, - { - "source": "/guides/going-further/stack-app", - "destination": "/sdk/objects/stack-app" - }, - { - "source": "/guides/going-further/backend-integration", - "destination": "/guides/getting-started/setup" - } - ] + } } diff --git a/docs-mintlify/llms-full.txt b/docs-mintlify/llms-full.txt index af2188f68..4e155ba9f 100644 --- a/docs-mintlify/llms-full.txt +++ b/docs-mintlify/llms-full.txt @@ -29,7 +29,7 @@ Below are some reminders on Hexclave and how to learn more about it. The full docs sidebar — generated from the live navigation. Fetch any of these directly: -- [Index](https://docs.hexclave.com/index) +- [Index](https://docs.hexclave.com) - **Getting Started** - [Setup](https://docs.hexclave.com/guides/getting-started/setup) - [User Fundamentals](https://docs.hexclave.com/guides/getting-started/user-fundamentals) diff --git a/docs-mintlify/sdk/types/team-user.mdx b/docs-mintlify/sdk/types/team-user.mdx index dc99127fc..6743163dd 100644 --- a/docs-mintlify/sdk/types/team-user.mdx +++ b/docs-mintlify/sdk/types/team-user.mdx @@ -98,7 +98,7 @@ It is usually obtained by calling `serverTeam.listUsers()` on a [`ServerTeam` ob // Inherits all functionality from TeamUser & TeamUser; //$stack-link-to:#teamuser // Inherits all functionality from ServerUser - & ServerUser; //$stack-link-to:/docs/sdk/types/user#serveruser + & ServerUser; //$stack-link-to:/sdk/types/user#serveruser & { teamProfile: ServerTeamMemberProfile; //$stack-link-to:#serverteamuserteamprofile };`} diff --git a/docs/content/docs/(guides)/apps/payments.mdx b/docs/content/docs/(guides)/apps/payments.mdx index a02c04994..57379d1da 100644 --- a/docs/content/docs/(guides)/apps/payments.mdx +++ b/docs/content/docs/(guides)/apps/payments.mdx @@ -94,7 +94,7 @@ You can turn on **test mode** to simulate purchases without charging real money ## SDK Usage -The Payments functionality is available through the [`Customer`](/docs/sdk/types/customer) interface, which is automatically available on [`CurrentUser`](/docs/sdk/types/user#currentuser) and [`Team`](/docs/sdk/types/team#team) objects. +The Payments functionality is available through the [`Customer`](/sdk/types/customer) interface, which is automatically available on [`CurrentUser`](/sdk/types/user#currentuser) and [`Team`](/sdk/types/team#team) objects. ### Creating Checkout URLs @@ -114,7 +114,7 @@ For team purchases: ### Managing Items -Items represent quantifiable resources like credits, API calls, or storage quotas. See the [`Item`](/docs/sdk/types/item) type reference for full details. +Items represent quantifiable resources like credits, API calls, or storage quotas. See the [`Item`](/sdk/types/item) type reference for full details. #### Getting Item Quantities @@ -260,9 +260,9 @@ See [Stripe's testing documentation](https://stripe.com/docs/testing) for more t For complete API documentation, see: -- [`Customer`](/docs/sdk/types/customer) - Payment methods available on users and teams -- [`Item`](/docs/sdk/types/item) - Item and ServerItem type definitions -- [`ServerItem`](/docs/sdk/types/item#serveritem) - Server-side item management methods +- [`Customer`](/sdk/types/customer) - Payment methods available on users and teams +- [`Item`](/sdk/types/item) - Item and ServerItem type definitions +- [`ServerItem`](/sdk/types/item#serveritem) - Server-side item management methods ## Best Practices diff --git a/docs/content/docs/(guides)/concepts/jwt.mdx b/docs/content/docs/(guides)/concepts/jwt.mdx index 277002cff..e97eed4a2 100644 --- a/docs/content/docs/(guides)/concepts/jwt.mdx +++ b/docs/content/docs/(guides)/concepts/jwt.mdx @@ -172,7 +172,7 @@ Use the JWT viewer above to inspect tokens and verify their contents. Pay specia ## Related Concepts -- [API Keys](/docs/apps/api-keys) - Alternative authentication method for server-to-server communication -- [Backend Integration](/docs/concepts/backend-integration) - How to verify JWTs in your backend +- [API Keys](/guides/apps/api-keys/overview) - Alternative authentication method for server-to-server communication +- [Setup](/guides/getting-started/setup) - How to verify user sessions in your backend - [Permissions](/docs/apps/permissions) - Understanding user permissions (not included in JWTs) - [Teams](/docs/apps/orgs-and-teams) - Understanding team context in JWTs diff --git a/docs/content/docs/(guides)/rest-api/overview.mdx b/docs/content/docs/(guides)/rest-api/overview.mdx index 1d59d67a0..7d7335e67 100644 --- a/docs/content/docs/(guides)/rest-api/overview.mdx +++ b/docs/content/docs/(guides)/rest-api/overview.mdx @@ -115,6 +115,6 @@ To see how to use these headers in various programming languages, see the [examp ## Need Help? -- Check out our [Getting Started Guide](/docs/next/getting-started/setup) for initial setup +- Check out our [Getting Started Guide](/guides/getting-started/setup) for initial setup - Visit our [Concepts](/docs/next/concepts) section to understand Stack Auth fundamentals - Join our [Discord community](https://discord.stack-auth.com/) for support and discussions diff --git a/docs/templates-api/overview.mdx b/docs/templates-api/overview.mdx index adc06cb93..30fcdb0ac 100644 --- a/docs/templates-api/overview.mdx +++ b/docs/templates-api/overview.mdx @@ -96,5 +96,5 @@ To see how to use these headers in various programming languages, see the [examp ## Need Help? -- Check out our [Getting Started Guide](/docs/getting-started/setup) for initial setup +- Check out our [Getting Started Guide](/guides/getting-started/setup) for initial setup - Join our [Discord community](https://discord.stack-auth.com/) for support and discussions diff --git a/packages/init-stack/README.md b/packages/init-stack/README.md index 59d002991..230d02174 100644 --- a/packages/init-stack/README.md +++ b/packages/init-stack/README.md @@ -41,4 +41,4 @@ Initialize Hexclave in a JavaScript project with npm: npx init-stack --js --npm ``` -For more information, please visit [Hexclave Documentation](https://docs.hexclave.com/getting-started/setup). +For more information, please visit [Hexclave Documentation](https://docs.hexclave.com/guides/getting-started/setup). diff --git a/packages/init-stack/src/index.ts b/packages/init-stack/src/index.ts index 194d4509d..db9d3c46f 100644 --- a/packages/init-stack/src/index.ts +++ b/packages/init-stack/src/index.ts @@ -99,7 +99,7 @@ program .option("--on-question ", "How to handle interactive questions: ask | guess | error | default", "default") .option("--no-warn-uncommitted-changes", "Don't warn about uncommitted changes in the Git repository") .addHelpText('after', ` -For more information, please visit https://docs.hexclave.com/getting-started/setup`); +For more information, please visit https://docs.hexclave.com/guides/getting-started/setup`); program.parse(); @@ -446,7 +446,7 @@ ${colorize.bold`Next steps:`} 3. Import the Stack components in your app 4. Add authentication to your app -For more information, please visit https://docs.hexclave.com/getting-started/setup +For more information, please visit https://docs.hexclave.com/guides/getting-started/setup `.trim()); if (!noBrowser) { // Hexclave rebrand: emit the new query param name (hyphen delimiter preserved). @@ -479,7 +479,7 @@ main().catch(async (err) => { console.log(colorize.red`===============================================`); console.error(); console.error( - "If you need assistance, please try installing Stack manually as described in https://docs.hexclave.com/getting-started/setup or join our Discord where we're happy to help: https://discord.hexclave.com" + "If you need assistance, please try installing Stack manually as described in https://docs.hexclave.com/guides/getting-started/setup or join our Discord where we're happy to help: https://discord.hexclave.com" ); if (!(err instanceof UserError)) { console.error(""); diff --git a/packages/stack-cli/src/commands/exec.ts b/packages/stack-cli/src/commands/exec.ts index 0ce8cd5f9..9922ccf50 100644 --- a/packages/stack-cli/src/commands/exec.ts +++ b/packages/stack-cli/src/commands/exec.ts @@ -53,7 +53,7 @@ export function registerExecCommand(program: Command) { .description("Execute JavaScript with a pre-configured StackServerApp as `stackServerApp`. Pass --cloud-project-id for the cloud API, or --config-file for the development environment.") .option("--cloud-project-id ", "Cloud project ID to run against (use --config-file instead for the development environment)") .option("--config-file ", "Path to a development-environment stack.config.ts (use --cloud-project-id instead for the cloud API)") - .addHelpText("after", "\nFor available API methods, see: https://docs.hexclave.com/docs/sdk") + .addHelpText("after", "\nFor available API methods, see: https://docs.hexclave.com/sdk/overview") .action(async (javascript: string | undefined, opts: ExecTargetOpts) => { if (javascript === undefined) { throw new CliError("Missing JavaScript argument. Use `stack exec \"\"` or `stack exec --help`."); diff --git a/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-index.ts b/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-index.ts index 035b6b85b..77215bcff 100644 --- a/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-index.ts +++ b/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-index.ts @@ -26,6 +26,9 @@ function humanize(slug: string): string { } function docUrl(slug: string): string { + if (slug === "index") { + return DOCS_BASE; + } const encoded = slug.split("/").map(encodeURIComponent).join("/"); return `${DOCS_BASE}/${encoded}`; } diff --git a/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.ts b/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.ts index 66e0ac74c..e6f2f9880 100644 --- a/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.ts +++ b/packages/stack-shared/src/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.ts @@ -254,65 +254,7 @@ const docsJson = { "/apps-sidebar-filter.js", "/code-language-labels.js" ] - }, - "redirects": [ - { - "source": "/rest-api/overview", - "destination": "/api/overview" - }, - { - "source": "/getting-started/setup", - "destination": "/guides/getting-started/setup" - }, - { - "source": "/docs/getting-started/setup", - "destination": "/guides/getting-started/setup" - }, - { - "source": "/docs/next/getting-started/setup", - "destination": "/guides/getting-started/setup" - }, - { - "source": "/docs/sdk", - "destination": "/sdk/overview" - }, - { - "source": "/docs/apps/analytics", - "destination": "/guides/apps/analytics/overview" - }, - { - "source": "/docs/apps/api-keys", - "destination": "/guides/apps/api-keys/overview" - }, - { - "source": "/docs/others/convex", - "destination": "/guides/integrations/convex/overview" - }, - { - "source": "/docs/concepts/teams", - "destination": "/guides/apps/teams/overview" - }, - { - "source": "/docs/concepts/custom-user-data", - "destination": "/guides/getting-started/user-fundamentals#custom-metadata" - }, - { - "source": "/guides/going-further/user-metadata", - "destination": "/guides/getting-started/user-fundamentals#custom-metadata" - }, - { - "source": "/others/js-client", - "destination": "/sdk/objects/stack-app" - }, - { - "source": "/guides/going-further/stack-app", - "destination": "/sdk/objects/stack-app" - }, - { - "source": "/guides/going-further/backend-integration", - "destination": "/guides/getting-started/setup" - } - ] + } } as const; export default docsJson; diff --git a/packages/stack-shared/src/known-errors.tsx b/packages/stack-shared/src/known-errors.tsx index 6f8785efc..99e61d759 100644 --- a/packages/stack-shared/src/known-errors.tsx +++ b/packages/stack-shared/src/known-errors.tsx @@ -270,7 +270,7 @@ const AccessTypeWithoutProjectId = createKnownErrorConstructor( deindent` The x-hexclave-access-type header was '${accessType}', but the x-hexclave-project-id header was not provided. (The legacy x-stack-access-type and x-stack-project-id headers are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication `, { request_type: accessType, @@ -287,7 +287,7 @@ const AccessTypeRequired = createKnownErrorConstructor( deindent` You must specify an access level for this Hexclave project. Make sure project API keys are provided (eg. x-hexclave-publishable-client-key) and you set the x-hexclave-access-type header to 'client', 'server', or 'admin'. (The legacy x-stack-* equivalents are also accepted.) - For more information, see the docs on REST API authentication: https://docs.hexclave.com/rest-api/overview#authentication + For more information, see the docs on REST API authentication: https://docs.hexclave.com/api/overview#authentication `, ] as const, () => [] as const,